Problemas em campos do tipo data

Após atualizacao do scriptcase para a versao 9.6.011, os controles que possuem campos do tipo data nao estao atualizando corretamente tais campos.
Por exemplo, dentro de um evento ajax foi colocado o seguinte codigo

$dt2 = date(“Y/m/d”,strtotime(“2021/02/01”));
{campo_data} = $dt2;

Entao, por exemplo, se $dt2 for igual a “2020/02/28”, o campo {campo_data} fica com 2//02021

Porem, se eu alterar o codigo fonte para
$dt2 = date(“Y-m-d”,strtotime(“2021/02/01”));
{campo_data} = $dt2;

O campo {campo_data} fica preenchido corretamente.

O fato é que isso nao estava assim. Só ficou assim depois que atualizei.

Enfim, é algo que deve ser corrigido pela netmake, ou eu vou precisar mudar todo o meu codigo fonte?

Internamente em MySQL/MariaDB, SQLite a data padrão é AAAA-MM-DD, ai deve-se usar assim:

// Pega Data e Hora atuais
$_Data=date("Y-m-d");
$_Hora=date("H:i");

$_DateTime=date("Y-m-d H:i:s"); Campo DateTime

$_DataManual = '2021-05-12';

Sem necessidade de usar o strtotime.

A Data só fica em DD/MM/AAAA visualmente nos campos, por causa
da mascara de formatação JavaScript que o SC usa, mas internamente em PHP não.

E na aplicação de Login no OnLoad coloca-se:

// Fixar TimeZone Brasil
setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');
1 Curtida

Valeu Jailton, como sempre, explicações diretas e didáticas. Diferentes de algumas orientações que desorientam.

1 Curtida