php 中的 time() 函数表示当前时间是 1970

Posted

技术标签:

【中文标题】php 中的 time() 函数表示当前时间是 1970【英文标题】:time() function in php says current time is 1970 【发布时间】:2017-02-05 23:40:05 【问题描述】:

我在 mac 上运行 XAMPP。

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

<?php
echo time();

总是返回 1970 年的时间。

示例:1475044574(编辑:1475137157)

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

我尝试将 SetEnv TZ MyTimezone 添加到 httpd.conf(位于文件底部),但没有成功。

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

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

欢迎提出任何建议!

【问题讨论】:

但您的示例 (1475044574) 是 2016 年 9 月 28 日星期三 06:36:14 GMT 1970年的时间永远不会是1475044574 是什么让您认为时间是在 1970 年?提示,不是 最可能的问题是您在尝试将 unixtimestamp 转换为实际日期时出错。 【参考方案1】:

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

您可以根据需要转换时间。参考date formats。

检查此示例代码:

回显日期('M j Y g:i A', 1475044574);

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

【讨论】:

等等,这很奇怪。前两天我在测试脚本,并在 currentmillis.com 上转换时间。时间总是在 1970 年。我最后一次运行脚本,将问题的时间复制到这里,没有检查。突然是正确的日期? 兄弟,根据 PHP 手册 php.net/manual/en/function.time.phptime() 函数返回秒而不是毫秒。请检查您在本网站上的时间戳epochconverter.com。 哦,这很尴尬。在过去的两天里,我多次阅读此功能的文档,但从未注意到这一点。您可以将其发布为答案吗? brainiac,我已经编辑了我的答案,您可以将其标记为答案。谢谢,快乐编码。【参考方案2】:

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 的内容 - 您显然进行了转换错误

【讨论】:

以上是关于php 中的 time() 函数表示当前时间是 1970的主要内容,如果未能解决你的问题,请参考以下文章

php time()函数 语法

lua中的时间函数

PHP获取当前时间戳,当前时间及解决时区问题

php取得当前时间函数

php获取当前时间

php中只获取时间中的小时函数我只想知道现在是几点就可以了