任何人都可以帮我吗?
var current_date=new Date('2012/12/21 22:59:59.997');
var result=current_date.getTime();
我没有在Firefox中获得结果,但它确实以chrome显示,在FF中显示无效日期。
答案 0 :(得分: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);
答案 1 :(得分: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
。
总的来说,你有很多解决方案。选择最让你烦恼的那个。
答案 2 :(得分:0)
您使用的格式不是Date.parse
的标准格式您可能希望拆分字符串并单独设置部件。另外,请正确管理时区,因为日期字符串所在的时区不明显。