我正在尝试使用 gettime 对我的日期字符串进行排序。但它返回了一些模糊的值,例如。
- 1428303000000 16/06/2014 16:50
- 1389074040000 01/07/2014 16:54
第一个日期小于第二个日期,所以它没有。毫秒数也应该更小。
您也可以在http://www.tutorialspoint.com/cgi-binpractice.cgi?file=javascript_178上查看
所以不知道为什么会这样。
有什么帮助吗?
我正在尝试使用 gettime 对我的日期字符串进行排序。但它返回了一些模糊的值,例如。
第一个日期小于第二个日期,所以它没有。毫秒数也应该更小。
您也可以在http://www.tutorialspoint.com/cgi-binpractice.cgi?file=javascript_178上查看
所以不知道为什么会这样。
有什么帮助吗?
您可能正在使用16/06/2014
并打算将其表示为第 6 个月的第 16 天来创建日期。但是,这不是它的解析方式。第一个元素被视为月份;第二个元素是天。由于一年没有 16 个月,因此日期向前舍入到下一年(即 2014 年的第 16 个月是 2015 年的第 4 个月)。
换句话说:
Date.parse("16/06/2014 16:50") === Date.parse("04/06/2015 16:50"); // => true
如果您正确创建Date
对象,请测试您的代码
// new Date(year, month, day, hour, minute, second, millisecond);
// Working with date 16/06/2014 16:50
var foo = new Date(2014, 6, 16, 16, 50);
foo.getTime(); // 1405518600000
// Working with date 01/07/2014 16:54
var foo = new Date(2014, 7, 1, 16, 54);
foo.getTime(); // 1406901240000
阅读有关Date 对象引用的更多信息。
在我们看到您的代码以及您如何从“16/06/2014 16:50”到“1428303000000”之前,我无能为力。