2011-07-12 4 views
2

Si j'ai date, puis-je ajouter un fuseau horaire différent?PHP manipule le fuseau horaire?

par exemple. j'ai 1/1/2000 17:00 dans + 2gmt j'ai besoin d'ajouter + 4gmt = 1/1/2000 7pm
ou soustrait -6gmt de thjis donc je vais obtenir 1pm?

Répondre

3

Vous pouvez utiliser DateTime et DateTimeZone. Il existe également une classe DateInterval qui vous permet de spécifier un intervalle que vous pouvez utiliser avec DateTime::add et DateTime::sub.

<?php 

$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 
echo $date->format('Y-m-d H:i:sP') . PHP_EOL; 

$date->setTimezone(new DateTimeZone('Pacific/Chatham')); 
echo $date->format('Y-m-d H:i:sP') . PHP_EOL; 

?> 

Sorties:

2000-01-01 00:00:00+12:00 
2000-01-01 01:45:00+13:45 
+0

+1 pour 'DateTime' objet. – alex