我在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;这个词的重要性。有了这个背景。请有人解释一下吗?
答案 0 :(得分:4)
在date()
的情况下,“local”指的是时区,与GMT / UTC形成对比(因此,存在gmdate()
)。
两个函数默认输出英语日期。根据{{1}}文档:
要使用其他语言格式化日期,您应该使用setlocale()和strftime()函数而不是date()。
答案 1 :(得分:2)
此处的区别在于区域设置和本地时间。它们根本不是一回事。
locale 表示翻译。正如它所说,它不会翻译日期字符串;它以英文输出。
本地时间表示根据服务器时区设置的时间。如果您使用UCT作为您的时区,那么这将不相关,但如果您将时区设置为当地时间,那么它将产生很大的不同。