我有一個javascript字符串,我將它拆分爲Date對象的數字,然後使用map轉換爲數字。 Date在分析和映射時不喜歡格式。從字符串中製作JavaScript日期對象使用分割和地圖
這不起作用:
var timeString = '2016-01-01T17:44:32';
var dateTime = new Date(timeString.split(/T|:|-/).map(Number));
這不起作用:
var timeString = '2016-01-01T17:44:32';
var x = timeString.split(/T|:|-/).map(Number);
var dateTime = new Date(x);
但尚未這部作品:
var timeString = '2016-01-01T17:44:32';
var x = timeString.split(/T|:|-/).map(Number);
var dateTime = new Date(x[0], x[1], x[2], x[3], x[4], x[5]);
我猜傳遞到一個數組一個函數或構造函數不會在JavaScript中變平。有什麼我失蹤或第一個例子接近工作?第三種解決方案是醜陋的。
爲什麼不'新的日期( '2016-01-01T17:44:32')'? – TheShellfishMeme
如果你對將數組解包爲函數參數感到好奇,請閱讀'Function.prototype.apply'。儘管如此,它不會與'new'一起工作,所以在這種情況下,您可能首先使用'Date.UTC'來獲取UNIX時間戳並使用它來使用'new'創建Date對象。 – TheShellfishMeme
@TheShellfisheMeme,因爲我想成爲時區不可知論者。它認爲它是UTC。 – atom12