【问题标题】:Javascript difference in seconds between two datetime cross browser两个日期时间跨浏览器之间的 Javascript 秒数差异
【发布时间】:2014-10-02 15:28:48
【问题描述】:

我有一个函数,我需要计算两个日期时间之间的秒差。 我做这样的事情:

var sData = new Date(Date.parse(sData));
var tData = new Date(Date.parse(response.scroll.datain));
var timeDiff = Math.abs(tData.getTime() - sData.getTime());
timeDiff = parseInt(timeDiff)/1000;

Chrome 返回两个日期时间字段之间的正确秒差,firefox 和 opera 返回 0。 如何在跨浏览器模式下达到这个效果?

提前致谢

【问题讨论】:

  • 最好的猜测是日期字符串的格式无效。提供 2 个日期字符串的示例数据
  • 只需从控制器传递毫秒,然后创建新的日期(毫秒)
  • Firefox 和 Opera 说 sData 和 tData 是“无效数据”,chrome 不是
  • @almal - 什么是sData?它是有效的日期字符串吗? (RFC2822ISO 8601
  • 是来自 mysql db retrive by ajax call 的数据参数。

标签: javascript jquery datetime cross-browser


【解决方案1】:

问题是 MYSQL 日期时间格式。 解决方法可能是这样的:

var t = response.scroll[i].datain.split(/[- :]/);
var s = sData.split(/[- :]/);

// Apply each element to the Date function
var tData = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
var sData = new Date(s[0], s[1]-1, s[2], s[3], s[4], s[5]);

适用于所有主流浏览器。

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2018-10-15
    • 2023-03-24
    • 2017-05-16
    • 2013-08-17
    • 2012-09-13
    相关资源
    最近更新 更多