Salvataggio data errato

  • Creatore Discussione Creatore Discussione max1974
  • Data di inizio Data di inizio

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 ???
 
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');
 
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
 
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
 

Discussioni simili