gpt4 book ai didi

javascript - PHP 和 Javascript 之间的 UTC 日期差异

转载 作者:行者123 更新时间:2023-12-02 18:20:04 26 4
gpt4 key购买 nike

我有一个 PHP 日期字符串,例如 $min_date = "2012-03-30"

如果我通过 javascript 运行此日期 Date.UTC函数,我得到1333065600000。这就是我想要的值。

var split_date = min_date.split('-');
Date.UTC(split_date[0],(parseInt(split_date[1])-1),split_date[2]); //gives 1333065600000

我无法在 PHP 中获取该值。

strtotime($min_date); //gives 1333045800

mktime(23,60,60,intval($split_date[1]),intval($split_date[2]),intval($split_date[0])); //gives 1333132260

如何从 PHP 中获取在 javascript 中获取的值?我宁愿在服务器端进行此转换并将其发送到客户端,因为这些日期位于一个大数组中,在客户端进行转换会很痛苦。

PS:我的服务器时间设置正确。

最佳答案

由于时区差异,您在 PHP 中无法获得正确的时间戳。将时区设置为 UTC,您将获得与 javascript 相同的输出:

# globally
date_default_timezone_set('UTC');
echo strtotime('2012-03-30') . "\n";

# or like @Jim said, only for single operation :
echo strtotime('2012-03-30 UTC') . "\n";

更好的解决方案是使用 DateTime 类:

$dt = new DateTime($date, new DateTimeZone('UTC'));
echo $dt->getTimestamp() . "\n";

关于javascript - PHP 和 Javascript 之间的 UTC 日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com