我在使用strftime()翻译日期时间对象时显示正确的时区偏移有一些问题
这是我正在使用的对象(名称:$match_dateobject
):
DateTime Object
(
[date] => 2014-09-17 10:45:00
[timezone_type] => 1
[timezone] => -08:00
)
我希望以下列格式显示,调整为马德里时区(GMT + 2)以及荷兰语日期和月份名称:“9月17日星期三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()时有没有办法设置时区?
答案 0 :(得分:3)
是的,
date_default_timezone_set('Europe/Madrid');
答案 1 :(得分:0)
只需添加1个函数date_default_timezone_set();通过时区如" America / New_York"你可以在https://www.w3schools.com/php/php_ref_timezones.asp
找到你的时区date_default_timezone_set("America/New_York");
echo strftime("%A %e %B %G %H:%M", time() );