javascript - PHP 中的日期函数给出的日期总是晚一天

标签 javascript php date php-5.6

我的情况是,日期总是晚一天。 例如,我有这个值 -243219600 这是相对于日期 18/04/1962

之后

date('d/m/Y', -243219600);

输出是:

17/04/1962

-243219600 秒从 1970 年 1 月 1 日 00:00:00 UTC 在 javascripthere你得到正确的日期。

最佳答案

date() 的输出取决于配置的时区。如果您添加时间和时区,您可以看到它。在我的例子中是 CET:

echo date('d/m/Y H:m:i T', -243219600);
//prints: 18/04/1962 00:04:00 CET

date() 的解决方案

如果您希望date() 使用UTC,请使用date_default_timezone_set :

date_default_timezone_set('UTC');
echo date('d/m/Y H:m:i T', -243219600);"

输出

 17/04/1962 23:04:00 UTC

(你看,因为现在是 UTC 午夜前一小时,日期取决于时区)

DateTime 的解决方案:

DateTime 类如果由 Unix 时间戳构造,则始终使用 UTC:

来自documentation :

Note:

The $timezone parameter and the current timezone are ignored when the $time parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

所以你也可以使用下面的代码:

echo (new DateTime('@-243219600'))->format('d/m/Y');

关于javascript - PHP 中的日期函数给出的日期总是晚一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500442/

相关文章:

javascript - AngularJS ng-重复溢出

java - 一种日期排序算法

java - 我的主要方法必须重复此100次: randomly generate numbers 1 to 12,使用getDayInMonth随机生成天数?

具有不同图像的 Javascript 计时器

javascript - 如何使用 jQuery ajax 数据变量

缺少 php SimpleXML 属性

php - 将 json 传递给 View 模型时保持安全

iphone - 我如何获得当前日期?

javascript - 如何将 $sce.trustAsResourceUrl 与 $http 服务一起使用

php - 合并日期和时间后显示 PHP fatal error