gpt4 book ai didi

javascript 显示与 php 不同的日期

转载 作者:行者123 更新时间:2023-11-29 17:15:48 25 4
gpt4 key购买 nike

我有一个 php 脚本,它从这样的数据库值生成一个日期对象:

$dt = new DateTime($string_from_database);   // In YYYY-mm-dd format
$jsonValue = $dt->format('U');

这是我的 JS 使用 AJAX 检索的。我像这样将它输入到 jQuery 表中:

            //DateStart
{
'sName': 'date_start',
'iDataSort': 2,
'bSearchable': false,
'fnRender': function(obj) {
var dStart = new Date(parseInt(obj.aData['DateStartJson']) * 1000);
var dEnd = new Date(parseInt(obj.aData['DateEndJson']) * 1000);
if (obj.aData['DateStartJson'] == obj.aData['DateEndJson'])
return dStart.toDateString().substr(4);
else
return dStart.toDateString().substr(4) + ' -<br/>' + dEnd.toDateString().substr(4);
}
},

一些用户反射(reflect) JS 显示的时间比直接通过 PHP 显示的日期早一天。

PHP 显示:2013 年 8 月 24 日JS 显示:2013 年 8 月 23 日

注意:这只发生在部分用户身上,我无法在本地重现。

有什么想法吗?贾里德

最佳答案

javascript 使用本地机器时钟,而服务器吐出服务器时间。除非您的所有用户都与服务器处于同一时区,否则您将遇到此问题。许多人使用的解决方案是将服务器时间规范化为 UTC 之类的时间,然后在客户端 javascript 上进行适当的计算以说明增量。

关于javascript 显示与 php 不同的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115405/

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