O que ha de errado nesse codigo?

Ola Amigos

Gostaria de saber se alguem pode me explicar o que há de errado com esse codigo.

Os campos $data1 e $data2 recebem “2019-01-01” e “2019-01-31”

function calculo($data1,$data2) {

echo "xx ola xx $data1 $data2 "; // Isso vai mostrar 2019-01-01 e 2019-01-31

$dt1 = date("Ymd",strtotime($data1));
$dt2 = date("Ymd",strtotime($data2));

echo "zz ola zz $dt1 $dt2 "; // Isso vai mostrar 20190101 e 19691231

Alguem sabe dizer porque a formatacao funcionou para $dt1, mas não funcionou para $dt2?

O que devo fazer para resolver esse problema?

Percebi que tambem dá problema se $dt1 receber um valor maior de 2019/01/01

Coloca o traço ‘-’
$dt1 = date(“Y-m-d”,strtotime($data1));
$dt2 = date(“Y-m-d”,strtotime($data2));

Tem que ser igual a formatação que esta vindo a data para a variável.
20190101 = Ymd
2019-01-04 = Y-m-d

Olá
Obrigado por responder.
O problema é o seguinte.
Num formulario de controle eu tenho 2 campos do tipo data. Esses campos sao preenchidos no formato dd/mm/aaa, e estao cnofigurados no formato interno para AAAAMMDD. Tudo padrao do scriptcase. Eu nao mexi em nada nesses campos. Esses campos sao passados para uma blank. Quando eles chegam na blank, eles já chegam no formato DD/MM/AAAA. Nao sei porque isso acontece.
A blank, por sua vez, passa essas datas como parametro numa funcao de consulta que usa essas data para montar um SQL. O problema é que a funcao espera que as datas estejam no formato AAAAMMDD, mas como as datas chegam DDMMAAAA, a consulta fica errada.
Por isso que estou querendo forçar para que o formato da data dentro da função fique AAAAMMDD.

Por exemplo, no formulario de controle, no evento on validate, os campos estao assim
data1 = 20190101 data2= 20190131

Entretanto, ao chegar na blank, as variaveis já estão assim

data1 : 01/01/2019 data2 : 31/01/2019

Entao resta saber o que foi que aconteceu no meio de campo, pois eu esperava que o formato AAAAMMDD fosse mantido do comeco ao fim.

Use então na _blank a macro do SC: sc_date_conv, para converter a data que esta vindo e depois repassar para a função corretamente.
https://www.scriptcase.com.br/docs/pt_br/v9/manual/14-macros/01-visao-geral/#sc_date_conv

Eu sei usar a macro. A dúvida não era essa. Mas deixa pra lá. Resolvi de outra forma.
Abraço.