2016-10-06 1 views
2

Ce code:Pourquoi convertir Timestamp '2016-10-06T09: 50: 54.000Z' avec php

$timestamp = 2016-10-06T09:50:54.000Z; 

Comment séparer ou convertir de l'horodatage en date et l'heure?

exemple:

TimeStamp  2016-10-06T09:50:54.000Z 
Date   2016-10-06 
Jam(GMT +7)  04:55:45 

S'il vous plaît aider à résoudre ce problème. Merci

+0

Utilisez 'DateTime :: format()': http://php.net/manual/fr/class.datetime.php – CD001

+0

Essayez simplement ceci: '$ strtotime = strtotime ('2016-10-06T09: 50 : 54.000Z '); $ date = date ("Y-m-d", $ strtotime); $ time = date ("H: s: i", $ strtotime); date_default_timezone_set ('America/New_York'); // définir votre fuseau horaire $ time_specific_zone = date ("H: s: je", $ strtotime); ' – AHJeebon

Répondre

0
$d = new DateTime('2016-10-06T09:50:54.000Z'); 
echo $d->format('Y-m-d\TH:i:s.u'); // 2016-10-06T09:50:54.000000 
echo $d->format('Y-m-d'); // 2016-10-06 

// convert to GMT+7 timezone 
$d->setTimezone(new DateTimeZone('GMT+7')); 
echo $d->format('h:i:s'); // 04:50:54 
+0

Salut Galted, Merci pour l'aide moi. La façon dont vous êtes le plus approprié pour ce cas. –

+0

Que faire si les résultats de la date et l'heure que nous mettons dans la base de données MySQL? '$ timestamp = $ _GET [' horodatage ']; $ date = new DateHeure ($ horodatage); $ date-> format ('Y-m-d'); $ Time = new DateHeure ($ horodatage); ' –

0

Jetez un oeil à cet exemple court:

<?php 
$datetime = new Datetime('2016-10-06T09:50:54.000Z'); 
var_dump($datetime->format('Y-m-d H:i:s')); 

La sortie est évidemment: string(19) "2016-10-06 09:50:54"

En utilisant différentes chaînes de format, vous pouvez convertir votre objet de temps de date dans quelle que soit la représentation que vous voulez. 'Y-m-d' donnera la date au format international par exemple.

Jetez un oeil à la grande documentation: http://php.net/manual/en/class.datetime.php

0
<?php 
$timestamp = "2016-10-06T09:50:54.000Z"; 
$datetime = new Datetime('2016-10-06T09:50:54.000Z'); 
echo "Date".$datetime->format('Y-m-d')."<br>"; 
echo "Jam".$datetime->format('H:i:s'); 
?> 
0

Pas grand-chose d'un mystère:

<?php 
$timestamp = '2016-10-06T09:50:54.000Z'; 
$dt = new DateTime($timestamp); 
var_dump($dt); 
$dt->setTimezone(new DateTimeZone('Asia/Jakarta')); 
var_dump($dt); 
object(DateTime)#1 (3) { 
    ["date"]=> 
    string(26) "2016-10-06 09:50:54.000000" 
    ["timezone_type"]=> 
    int(2) 
    ["timezone"]=> 
    string(1) "Z" 
} 
object(DateTime)#1 (3) { 
    ["date"]=> 
    string(26) "2016-10-06 16:50:54.000000" 
    ["timezone_type"]=> 
    int(3) 
    ["timezone"]=> 
    string(12) "Asia/Jakarta" 
} 

Contrairement à cordes, le format donnant à une date appropriée est trivial .

Je ne sais pas dans quel fuseau horaire Jam est mais je vous suggère d'attribuer une ville afin que vous puissiez expliquer DST (je l'ai utilisé Asia/Jakarta dans mon exemple de code, la liste complète se trouve à List of Supported Timezones). Le simple fait de compter sur un décalage UTC comme +7 peut rendre votre code peu fiable pendant l'été.