PHP 不显示 UTC Z 时区指示符
当我尝试将日期格式化为 UTC 时,它不显示 UTC 零时区指示符的“z” 。这是图书馆的问题吗?
# Define Some date
$scheduledDate = "2011-11-23T10:25:00";
echo $scheduledDate . "\n";
# Convert to DateTime object
$startTime = DateTime::createFromFormat('Y-m-d\TH:i:s', $scheduledDate);
print_r($startTime) ;
# Verify Time Zone
$sDate = $startTime -> format(DateTime::ATOM);
echo "\nAtom Date:\t" . $sDate . "\n";
# Convert to UTC time
$startTimestr = strtotime ($startTime -> format(DateTime::ATOM));
echo "epoch Time:\t" . $startTimestr . "\n";
# Print Different Formats
$gmDate = gmdate(DateTime::ATOM , $startTimestr);
echo "ATOM:\t\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::ISO8601 , $startTimestr);
echo "ISO8601:\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::RFC3339 , $startTimestr);
echo "RFC3339:\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::W3C , $startTimestr);
echo "W3C:\t\t" . $gmDate . "\n";
结果如下所示:
2011-11-23T10:25:00
DateTime Object
(
[date] => 2011-11-23 10:25:00
[timezone_type] => 3
[timezone] => America/Denver
)
Atom Date: 2011-11-23T10:25:00-07:00
epoch Time: 1322069100
ATOM: 2011-11-23T17:25:00+00:00
ISO8601: 2011-11-23T17:25:00+0000
RFC3339: 2011-11-23T17:25:00+00:00
W3C: 2011-11-23T17:25:00+00:00
请注意,所有格式都没有 z。我本以为
Atom Date: 2011-11-23T10:25:00-07:00
epoch Time: 1322069100
ATOM: 2011-11-23T17:25:00z
ISO8601: 2011-11-23T17:25:00z
RFC3339: 2011-11-23T17:25:00z
W3C: 2011-11-23T17:25:00z
When I try to format a date to UTC, It doesn't show the 'z' for the UTC zero timezone designator. Is this a problem with the library?
# Define Some date
$scheduledDate = "2011-11-23T10:25:00";
echo $scheduledDate . "\n";
# Convert to DateTime object
$startTime = DateTime::createFromFormat('Y-m-d\TH:i:s', $scheduledDate);
print_r($startTime) ;
# Verify Time Zone
$sDate = $startTime -> format(DateTime::ATOM);
echo "\nAtom Date:\t" . $sDate . "\n";
# Convert to UTC time
$startTimestr = strtotime ($startTime -> format(DateTime::ATOM));
echo "epoch Time:\t" . $startTimestr . "\n";
# Print Different Formats
$gmDate = gmdate(DateTime::ATOM , $startTimestr);
echo "ATOM:\t\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::ISO8601 , $startTimestr);
echo "ISO8601:\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::RFC3339 , $startTimestr);
echo "RFC3339:\t" . $gmDate . "\n";
$gmDate = gmdate(DateTime::W3C , $startTimestr);
echo "W3C:\t\t" . $gmDate . "\n";
The Results looks like:
2011-11-23T10:25:00
DateTime Object
(
[date] => 2011-11-23 10:25:00
[timezone_type] => 3
[timezone] => America/Denver
)
Atom Date: 2011-11-23T10:25:00-07:00
epoch Time: 1322069100
ATOM: 2011-11-23T17:25:00+00:00
ISO8601: 2011-11-23T17:25:00+0000
RFC3339: 2011-11-23T17:25:00+00:00
W3C: 2011-11-23T17:25:00+00:00
Notice that none of the formats have z. I would have expected
Atom Date: 2011-11-23T10:25:00-07:00
epoch Time: 1322069100
ATOM: 2011-11-23T17:25:00z
ISO8601: 2011-11-23T17:25:00z
RFC3339: 2011-11-23T17:25:00z
W3C: 2011-11-23T17:25:00z
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论