2017-07-16 2 views
1

Je possède ce UTC Date de2017-07-16 12:00:07.8 UTC (qui appelle $dateconvert) et je voudrais le convertir en secondes. J'ai essayé d'utiliser strtotime() mais il renvoie des secondes en UTC en supprimant encore deux heures et je ne comprends pas pourquoi.PHP: convertir UTC en date secondes - fonctionne pas avec strtotime()

Je suis en Italie et ici La date est UTC + 2, peut-être strtotime() lire $dateconvert avec fuseau horaire Italie et quand convertir en secondes depuis la suppression de cette 2 heures? Est-ce possible?

$anno_emsc= 2017; 
$mese_emsc= 7; 
$giorno_emsc= 16; 
$ora_emsc= 12; 
$minuto_emsc= 0; 
$secondo_emsc= 7; 


$dataconvert= strtotime($anno_emsc.'-'.$mese_emsc.'-'.$giorno_emsc.' '.$ora_emsc.':'.$minuto_emsc.':'.$secondo_emsc)+0; 

SORTIE

1500199207 // strtotime removed 2 hours 
+1

Si vous avez toutes les parties dans des variables séparées, pourquoi ne pas utiliser ['gmmktime()'] (http://php.net/manual/fr/function.gmmktime.php) pour les convertir en horodatage? – rickdenhaan

+0

@rickdenhaan avec gmmktime() fonctionne! si vous écrivez une réponse je l'accepterai;) – Borja

Répondre

1

Puisque vous connaissez déjà toutes les pièces, vous pouvez utiliser gmmktime() pour le convertir en horodatage. La version "gm" de mktime() sait qu'elle reçoit une date GMT/UTC et la traitera en conséquence.

0

Essayez et mettre votre date_default_timezone_set() à votre fuseau horaire correct et voir si cela résout votre problème. Parfois, votre instance php aura par défaut le mauvais fuseau horaire.