谁能帮我这个 ?
var current_date=new Date('2012/12/21 22:59:59.997');
var result=current_date.getTime();
我在 Firefox 中没有得到结果,但它确实显示在 chrome 中,在 FF 中显示无效日期。
谁能帮我这个 ?
var current_date=new Date('2012/12/21 22:59:59.997');
var result=current_date.getTime();
我在 Firefox 中没有得到结果,但它确实显示在 chrome 中,在 FF 中显示无效日期。
您应该能够执行以下操作(使用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);
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
.
总的来说,你有很多解决方案。选择最不惹恼你的那个。
您使用的格式不是Date.parse的标准格式
您可能想要拆分字符串并单独设置各个部分。另外,请正确管理时区,因为日期字符串在哪个时区并不明显。