JavaScript:两个浏览器中的日期差异结果不同

时间:2018-10-03 09:41:44

标签: javascript

我要约会两个不同的日期。如何获得两个日期之间的差额? 日期采用d.m.y格式。例如:11.10.18 & 13.10.18

var dateOne   = new Date('11.10.18');
console.log(dateOne);
var dateTwo   = new Date('13.10.18');
var timeDiff  = Math.abs(dateTwo.getTime() - dateOne.getTime());
var diffDays  = Math.ceil(timeDiff / (1000 * 3600 * 24));

在Chrome控制台上,结果正确。

Sat Nov 10 2018 00:00:00 GMT+0100 (Central European Standard Time)

在Firefox控制台上,出现错误。

Invalid Date

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这在chrome中可以完美运行,并能按预期提供结果 在传递给日期构造函数之前,请先以MM / dd / YYYY格式设置日期

var dateOneString = "11.10.18";
var dateTwoString = "13.10.18";
var dateOneSplitted = dateOneString.split('.');
var dateTwoSplitted = dateTwoString.split('.');
var dateOne = new Date("20"+dateOneSplitted[2], dateOneSplitted[1]-1, dateOneSplitted[0]);
var dateTwo = new Date("20"+dateTwoSplitted[2], dateTwoSplitted[1]-1, dateTwoSplitted[0]);

var timeDiff = Math.abs(dateTwo.getTime() - dateOne.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
console.log("Days Difference - "+diffDays);
console.log("Date One - "+dateOne);
console.log("Date Two - "+dateTwo);