[英]convert iso date to milliseconds in javascript
我可以將 iso 日期轉換為毫秒嗎? 例如我想轉換這個iso
2012-02-10T13:19:11+0000
到毫秒。
因為我想比較當前日期和創建日期。 創建日期是一個iso日期。
試試這個
var date = new Date("11/21/1987 16:00:00"); // some mock date var milliseconds = date.getTime(); // This will return you the number of milliseconds // elapsed from January 1, 1970 // if your date is less than that date, the value will be negative console.log(milliseconds);
編輯
您提供了 ISO 日期。 它也被Date
對象的構造函數接受
var myDate = new Date("2012-02-10T13:19:11+0000"); var result = myDate.getTime(); console.log(result);
編輯
我發現的最好的方法是手動擺脫偏移量。
var myDate = new Date("2012-02-10T13:19:11+0000"); var offset = myDate.getTimezoneOffset() * 60 * 1000; var withOffset = myDate.getTime(); var withoutOffset = withOffset - offset; console.log(withOffset); console.log(withoutOffset);
似乎工作。 至於將 ISO 字符串轉換為Date
對象的問題,您可以參考提供的鏈接。
編輯
根據 Prasad19sara 的評論修復了錯誤轉換為毫秒的錯誤。
先前解決方案的簡寫是
var myDate = +new Date("2012-02-10T13:19:11+0000");
它進行動態類型轉換並直接以毫秒格式輸出日期。
另一種方法是使用 Date util 的 parse 方法,它僅以毫秒為單位輸出 EPOCH 時間。
var myDate = Date.parse("2012-02-10T13:19:11+0000");
另一種可能的解決方案是將當前日期與January 1, 1970
日進行比較,您可以通過new Date(0)
獲得January 1, 1970
;
var date = new Date();
var myDate= date - new Date(0);
是的,您可以在一行中完成此操作
let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673
另一種解決方案可能是像這樣使用 Number 對象解析器:
let result = Number(new Date("2012-02-10T13:19:11+0000")); let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime(); console.log(result); console.log(resultWithGetTime);
這就像Date
對象上的getTime()
一樣轉換為毫秒
var date = new Date()
console.log(" Date in MS last three digit = "+ date.getMilliseconds())
console.log(" MS = "+ Date.now())
使用它我們可以以毫秒為單位獲取日期
var date = new Date(date_string); var 毫秒 = date.getTime();
這對我有用!
如果想將 UTC 日期轉換為毫秒
語法:Date.UTC(year, month, ?day, ?hours, ?min, ?sec, ?milisec);
例如:
date_in_mili = Date.UTC(2020, 07, 03, 03, 40, 40, 40);
console.log('miliseconds', date_in_mili);
如果有人只想從ISO 日期中獲取時間,以下操作會有所幫助。 我正在尋找它,但找不到相關問題。 因此,萬一有人看到會有所幫助。
let isoDate = '2020-09-28T15:27:15+05:30';
let result = isoDate.match(/\d\d:\d\d/);
console.log(result[0]);
輸出將是 isoDate 的唯一時間,即,
15:27
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.