我有一个PHP脚本,从数据库值生成一个日期对象,如下所示:
$dt = new DateTime($string_from_database); // In YYYY-mm-dd format
$jsonValue = $dt->format('U');
Run Code Online (Sandbox Code Playgroud)
这是我的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);
}
},
Run Code Online (Sandbox Code Playgroud)
一些用户报告显示的JS时间比通过PHP直接显示的日期提前一天.
PHP显示:2013年8月24日JS显示:2013年8月23日
注意:这仅适用于某些用户,我无法在本地重现.
有任何想法吗?贾里德
javascript使用本地机器时钟,而服务器正在吐出服务器时间.除非您的所有用户与服务器位于同一时区,否则您将遇到此问题.许多人使用的解决方案是将服务器时间规范化为UTC,然后在客户端javascript上进行适当的计算以考虑增量.
归档时间: |
|
查看次数: |
72 次 |
最近记录: |