2014-07-14 44 views
4

我想与我分享今天在JavaScript中发现的内容。使用new Date().toISOString();JavaScript新日期(字符串)在完全相同的日期字符串上返回不同的结果

Simple example here

d1 = "2014-07-15T14:00:00.000Z" 
d2 = "2014-07-15T14:00:00.000Z" 

输入串ISO格式化。 我从服务器接收到第一个日期,并将其作为ISOString存储在mongoDB中,第二个日期是手动创建的。

如果我做new Date(d1);,它返回'无效日期',但如果我对d2执行相同的操作,它将返回正确的日期。

+2

'的console.log(d1.length); console.log(d2.length);' –

+0

'console.log(d1 === d2); console.log(escape(d1)); console.log(escape(d2));' – epascarello

+0

谢谢你们发现了隐形角色。 –

回答

5

第一个包含非打印

0x20 0x3D 0x20 0x22 

字符

+0

噢,我的上帝?所以隐藏在第一个日期字符串前面的隐藏字符? –

+0

哦,我看到了..尝试删除第一个日期的第一个字符,然后手动把2和它产生日期..我不知道角色来自哪里。但感谢您的答案! –