我有一個日期數組,並已使用map函數遍歷它,但我無法弄清楚將其轉換爲整數的JavaScript代碼。如何將日期轉換爲整數?
這是日期的數組:
var dates_as_int = [
"2016-07-19T20:23:01.804Z",
"2016-07-20T15:43:54.776Z",
"2016-07-22T14:53:38.634Z",
"2016-07-25T14:39:34.527Z"
];
我有一個日期數組,並已使用map函數遍歷它,但我無法弄清楚將其轉換爲整數的JavaScript代碼。如何將日期轉換爲整數?
這是日期的數組:
var dates_as_int = [
"2016-07-19T20:23:01.804Z",
"2016-07-20T15:43:54.776Z",
"2016-07-22T14:53:38.634Z",
"2016-07-25T14:39:34.527Z"
];
var dates = dates_as_int.map(function(dateStr) {
return new Date(dateStr).getTime();
});
=>
[1468959781804, 1469029434776, 1469199218634, 1469457574527]
更新: ES6版本:
const dates = dates_as_int.map(date => new Date(date).getTime())
通過int
,你的意思是一個劃時代的時間?
new Date(2016, 8, 1).getTime()/1000
的功能:
function dateToEpoch(date) {
return date.getTime()/1000
}
,並呼籲爲:
dateToEpoch(new Date(2016, 8, 1);
我想「紀元時間」是[*時間值*](http://ecma-international.org/ecma-262/7.0/index.html#sec -time值和時間範圍)? – RobG
您可以通過
var myInt = Number(new Date(dates_as_int[0]));
運行如果參數是一個Date對象,則Number()函數將返回自UTC 1970年1月1日午夜以來的毫秒數。
您需要先將日期轉換爲Date,然後纔是數組中的字符串... –
我相信我做了相應的更改@AlekseyL。 –
在這裏,您可以嘗試什麼:
var d = Date.parse("2016-07-19T20:23:01.804Z");
alert(d); //this is in milliseconds
使用內建Date.parse
功能,其接受在ISO8601格式的輸入並直接在所需的整數返回值返回:
var dates_as_int = dates.map(Date.parse);
這應該是最好的答案。清晰和簡單的代碼 – August
1.轉換爲['Date'](HTTPS:/ /developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date),2.調用['.getTime()'](https://developer.mozilla.org/en-US/ docs/Web/JavaScript/Reference/Global_Objects/Date/getTime) – Andreas