2017-03-23 79 views
1

它爲什麼給出三個不同的結果?斜線反斜槓,日期字段中的連字符有什麼區別?

var hyphen=new Date('2014-04-03').toUTCString(); 
 

 
var slash=new Date('2014/04/03').toUTCString(); 
 

 
var backslash=new Date('2014\04\03').toUTCString(); 
 

 

 
console.log('hyphen=  '+hyphen+ '\n' +'slash=  '+slash+ '\n' + 'backslash= '+backslash);

回答

1

MDN: Date

注:與Date構造日期字符串的解析(和Date.parse,它們是等價的)強烈反對,由於瀏覽器的差異和矛盾。僅支持RFC 2822格式字符串。對於ISO 8601格式的支持不同於僅有日期的字符串(例如「1970-01-01」)被視爲UTC,而不是本地。

旁邊一個\0null字符,所以'2014\04\03'等於'2014_4_3',其中_是一個空字符。解析包含空字符的字符串作爲日期的結果根本沒有定義。

+0

所以我們應該只使用連字符? – Mahi