2011-06-25 81 views
2

我有日期如何将当地时间转换为UTC格式?

$timeZome = timezone_open('Europe/Kiev'); 
$date = new DateTime(); 
$date->setTimezone($timeZome); 
$date->setDate(2011, 06,25); 
$date->setTime(11,35,00); 

如何呈现这样呢?

20110625T040000Z 
+0

这可能是国际性的事情,但你的日期的“T040000Z ”部分代表什么? –

+0

“T040000Z”只是一个例子 – BILL

+0

所以它的时间戳? T和Z代表什么? –

回答

4

这会做你想要什么:

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('Europe/Kiev')); 
$date->setDate(2011, 06,25); 
$date->setTime(11,35,00); 
$date->setTimezone(new DateTimeZone('UTC')); 

echo $date->format('Ymd\THis\Z'); // format string to match question 

这是非常简单的:设置日期/时间/区,修改打印的时区和格式。

1

您可能只需要在您的日期对象上拨打format,我想。

echo $date->format('Ymd'); // 20110625 

UPDATE: 你可能要考虑无论是在Date类使用the existing constants,或者如果你需要从什么日期报价不同,简单地扩展它,并补充说,分析,并返回你的日期格式化的方法如你所愿。

+0

我可以转换日期,但我不明白如何以UTC格式转换时间。 – BILL

相关问题