【发布时间】:2014-11-16 09:04:21
【问题描述】:
在使用strftime() 转换日期时间对象时,我在显示正确的时区偏移时遇到了一些问题
这是我正在使用的对象(名称:$match_dateobject):
DateTime Object
(
[date] => 2014-09-17 10:45:00
[timezone_type] => 1
[timezone] => -08:00
)
我想以以下格式显示此内容,调整为马德里的时区 (GMT+2) 并使用荷兰的日期和月份名称:“Wednesday 17 September 20:45”
这适用于英文版:
$match_dateobject->setTimezone(new DateTimeZone('Europe/Madrid'));
echo $match_dateobject->format('l j F H:i');
=> Result: Wednesday 17 September 20:45
但是当我用 strftime() 翻译日期/月份名称时,时区会被忽略:
$match_dateobject->setTimezone(new DateTimeZone('Europe/Madrid'));
$timestamp = $match_dateobject->format('U');
setlocale(LC_TIME, 'nl_NL.UTF-8');
echo strftime("%A %e %B %G %H:%M", $timestamp );
=> Result: woensdag 17 september 2014 18:45
请注意,它显示的是默认的 GMT 时区,而不是欧洲/马德里 (GMT+2)。
有没有办法在使用 strftime() 时设置时区?
【问题讨论】: