如何在PHP中返回正确的时区

我有以下
PHP日期函数,它返回“UTC”作为时区.我需要它以适当的方式返回美国/纽约时区EST或EDT.

date(‘D,d M Y H:i:s T’);

它返回:星期四,2015年10月8日16:48:00 UTC

我需要它返回星期四,2015年10月8日16:48:00美国东部时间

修订.

这是我完整的PHP代码行:

date_default_timezone_set( 'America/New_York' );
echo '<meta http-equiv="last-modified" content="' . date( 'D, d M Y H:i:s T', strtotime( get_the_date() .' ' . get_the_time() ) ) . '" />' . "\n";

它是WordPress插件的一部分,其目的是在头部容器中插入元标记以反映WP Post上次更新的日期和时间.

最佳答案 首先定义到America / New_York的默认时区,然后您可以使用RFC850以所需格式显示日期

DATE_RFC850

This is the format for RFC850 which defines the standards for USENET messages. The PHP format is “l, d-M-y H:i:s T” and example output from date(DATE_RFC850) is “Sunday, 14-Aug-05 16:13:03 UTC”.

用法示例

date_default_timezone_set('America/New_York');
$a = strtotime('2015-08-11 16:48:00');
print date(DATE_RFC850, $a);

// output
Tuesday, 11-Aug-15 16:48:00 EDT

Working demo

也可以在php.ini中添加默认时区

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
点赞