PHP DateTime和日期方法之间的区别

时间:2013-11-11 14:53:22

标签: php datetime

我在http://php.net/manual/en/datetime.format.php中显示一条语句,其中示例#1 DateTime :: format()示例"此方法不使用 语言环境 。所有输出都是英文"。 还提到" date() - 格式化 本地 时间/日期"。我测试了它们:

<?php
//test1
$date = new DateTime('2013-11-09 01:08:32');
echo $date->format('Y-m-d H:i:s');
//test2
$d = strtotime('2013-11-09 01:08:32');
echo "<br/>".date('Y-m-d H:i:s',$d);
?>

两者都显示相同的输出。我想知道&#34;本地&#34;这个词的重要性。有了这个背景。请有人解释一下吗?

2 个答案:

答案 0 :(得分:4)

date()的情况下,“local”指的是时区,与GMT / UTC形成对比(因此,存在gmdate())。

两个函数默认输出英语日期。根据{{​​1}}文档:

  

要使用其他语言格式化日期,您应该使用setlocale()和strftime()函数而不是date()。

答案 1 :(得分:2)

此处的区别在于区域设置本地时间。它们根本不是一回事。

locale 表示翻译。正如它所说,它不会翻译日期字符串;它以英文输出。

本地时间表示根据服务器时区设置的时间。如果您使用UCT作为您的时区,那么这将不相关,但如果您将时区设置为当地时间,那么它将产生很大的不同。