1

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

<?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);
?>

两者都显示相同的输出。我想知道“本地”这个词在这种情况下的意义。请问谁能解释一下?

4

2 回答 2

4

date()的情况下,“本地”是指时区,与 GMT/UTC 不同(因此,存在gmdate())。

默认情况下,这两个函数都输出英语日期。根据date()文档:

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

于 2013-11-11T14:55:32.250 回答
2

这里的区别在于localelocal time。它们根本不是同一个意思。

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

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

于 2013-11-11T14:57:00.823 回答