PHP中的Time()函数表示当前时间是1970年


time() function in php says current time is 1970

我在mac上运行XAMPP。

我有一个非常简单的脚本:

<?php
echo time();

总是返回1970年代的时间。

示例:1475044574(编辑:1475137157)

我尝试在php.ini设置时区,然后调用date_default_timezone_get(),它返回正确的设置值。

我尝试将setv TZ MyTimezone添加到httpd.conf(在文件底部),但它不起作用。

我还尝试在php中使用date_default_timezone_set()设置时区,虽然它设置成功,但时间仍然在1970年。

我在MAMP上尝试了相同的脚本,仍然存在相同的问题。

任何建议都是赞赏的!

time函数返回正确的Unix时间戳,您在将时间转换为正确格式时犯了错误。1475044574表示星期三,2016年9月28日06:36:14 GMT,这是正确的。

你可以随意转换时间。参考日期格式

检查这个示例代码:

echo date('M j Y g:i A', 1475044574);

兄弟,按照PHP手册php.net/manual/en/function.time.php time()函数返回秒而不是毫秒。请在这个网站epochconverter.com上检查你的时间戳。

time()函数returns current Unix timestamp。所以,你的1475044574是一个时间戳。

使用date函数,您可以看到这是一个时间戳(随着时区的变化,结果可能会有所不同):

echo date('Y-m-d H:i:s', 1475044574);
// 2016-09-28 02:36:14

如果你把这个时间戳转换成一些字符串表示,并得到类似00-00-1970的东西-你显然做了错误的转换