2016-11-08 32 views
4

我有以下的PHP日期函数,它返回“UTC”的时区。我需要它返回的时区,美国/纽约要么ESTEDT适当。如何返回正确的时区在PHP

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

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

我需要它返回星期四,2015年10月8日16:48:00 EDT

修正。

这里是我完整的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插件,其目的是插入一个meta标签的头容器以反映日期和时间WP帖最后一部分更新。

+0

设置调用日期之前的时区() – GordonM

+0

[组时区](http://php.net/manual/en/function.date-default-timezone-set.php)然后cal升日期 –

+1

'$ estTime =(新日期时间( '美国/纽约')) - >格式( 'H:I:S:U');':http://stackoverflow.com/a/22393061/1158599 –

回答

1

默认时区到America/New_York的限定第一然后可以使用RFC850显示日期在所需的格式

DATE_RFC850

这是RFC850的格式定义了标准USENET消息。 PHP格式为“l,d-M-y H:i:s T”,日期范例输出(DATE_RFC850)为“星期日,14 - 08 - 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 =