我使用的某些库不会按字符串值对对象进行排序,但会按日期对它们进行排序。我有几个月喜欢' 2008-04'我应该能够在适当的月份的第一天将它们转换为Javascript日期。但我当地的时区搞砸了:
new Date('2008-04')
Mon Mar 31 2008 20:00:00 GMT-0400 (EDT)
这可能是How do you convert a JavaScript date to UTC?的重复,但是我的特定用例可能比那里的答案更简单?
顺便说一句,我通过指定本月的第一天得到了相同的答案: new Date('2008-04-01')
Mon Mar 31 2008 20:00:00 GMT-0400 (EDT)
我正在使用ES6。我不认为这会让它变得更直接吗?
答案 0 :(得分:1)
将'-01T00:00:00Z'
添加到字符串中,部分ISO 6801日期:
document.write(new Date('2008-04' + '-01T00:00:00Z'));

答案 1 :(得分:0)
我误解了。日期已经是UTC,只是当我在本地将其显示为字符串并将其转换为我的本地时区时。所以答案就是
new Date('2008-04').toUTCString()
"Tue, 01 Apr 2008 00:00:00 GMT"
或
new Date('2008-04').toISOString()
"2008-04-01T00:00:00.000Z"