Salvataggio data errato

max1974

Utente Attivo
7 Mar 2013
107
0
16
Salve ragazzi, salvo i dati che mi provengono da un $.ajax ed ho un problema con la data, ma non riesco a capire quale sia il problema.....
Codice:
date_default_timezone_set('Europe/Rome');
echo $_POST["dateStart"];//qui ricevo la data 05/03/2020-10:39     
$dateStart = date('Y-m-d H:i:', strtotime(str_replace('/','-',$_POST["dateStart"])));
echo $dateStart;//qui già la data ha subito la variazione 2020-03-05 11:39
nb: lo converto per salvarlo nel db.
da come vedete gli ha aggiunto un ora, da cosa dipende ??? come se ci fosse connessione con fuso orario....
come evito questo ???
 

max1974

Utente Attivo
7 Mar 2013
107
0
16
Salve ragazzi, salvo i dati che mi provengono da un $.ajax ed ho un problema con la data, ma non riesco a capire quale sia il problema.....
Codice:
date_default_timezone_set('Europe/Rome');
echo $_POST["dateStart"];//qui ricevo la data 05/03/2020-10:39    
$dateStart = date('Y-m-d H:i:', strtotime(str_replace('/','-',$_POST["dateStart"])));
echo $dateStart;//qui già la data ha subito la variazione 2020-03-05 11:39
nb: lo converto per salvarlo nel db.
da come vedete gli ha aggiunto un ora, da cosa dipende ??? come se ci fosse connessione con fuso orario....
come evito questo ???
trovato
date_default_timezone_set('UTC');
 

marino51

Utente Attivo
28 Feb 2013
2.920
164
63
Lombardia
trovato
date_default_timezone_set('UTC');
secondo me hai nascosto il problema, le funzioni che hai usato considerano il fuso orario,
se vuoi lavorare con la time zone del luogo, puoi usare
PHP:
date_default_timezone_set('Europe/Rome');

$dateStart = DateTime::createFromFormat('d/m/Y-H:i', '05/03/2020-10:39');
$dateStart = $dateStart->format('Y-m-d H:i');

echo $dateStart;
1583421262213.png
 

max1974

Utente Attivo
7 Mar 2013
107
0
16
secondo me hai nascosto il problema, le funzioni che hai usato considerano il fuso orario,
se vuoi lavorare con la time zone del luogo, puoi usare
PHP:
date_default_timezone_set('Europe/Rome');

$dateStart = DateTime::createFromFormat('d/m/Y-H:i', '05/03/2020-10:39');
$dateStart = $dateStart->format('Y-m-d H:i');

echo $dateStart;
Vedi l'allegato 6994
Grazie Marino ma non mi serve lavorare con timezone ..... ogni utente inserisce data ed ora nel form e devo semplicemente salvarla nel db..... cmq grazie 1000