0

谁能帮我这个 ?

var current_date=new Date('2012/12/21 22:59:59.997');
var result=current_date.getTime();

我在 Firefox 中没有得到结果,但它确实显示在 chrome 中,在 FF 中显示无效日期。

4

3 回答 3

3

您应该能够执行以下操作(使用date.setMilliseconds):

var dateString = '2012/12/21 22:59:59.997';
var dateStringSplit = dateString.split('.');
var myDate = new Date(dateStringSplit[0]);
myDate.setMilliseconds(dateStringSplit[1]);
console.log(myDate);
于 2012-12-21T09:57:26.550 回答
2

Firefox 和其他一些浏览器(即 Safari 或 Opera)不喜欢毫秒。

// Split off the part after the dot
var current_date = new Date('2012/12/21 22:59:59.997'.split('.')[0]);

// Works everywhere!
var result = current_date.getTime();

如果您真的想使用毫秒,则必须将日期分成多个部分并与它们一起使用new Date()。从 MDN 文档中,以下是选项:

new Date(year, month, day [, hour, minute, second, millisecond])

或者,正如h2ooooooo所说,您可以使用拆分日期的第二部分并使用setMilliseconds.

总的来说,你有很多解决方案。选择最不惹恼你的那个。

于 2012-12-21T09:50:48.960 回答
0

您使用的格式不是Date.parse的标准格式

您可能想要拆分字符串并单独设置各个部分。另外,请正确管理时区,因为日期字符串在哪个时区并不明显。

于 2012-12-21T09:51:48.293 回答