web-dev-qa-db-ja.com

JavaScriptでISO日付をミリ秒に変換する

ISO日付をミリ秒に変換できますか?たとえば、私はこのISOを変換したい

2012-02-10T13:19:11+0000

ミリ秒まで。

作成日と現在の日付を比較したいので。作成日はiso日付です。

64

これを試して

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

編集

ISO日付を指定しました。 Dateオブジェクトのコンストラクターでも受け入れられます

var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();

編集

私が見つけた最良の方法は、オフセットを手動で取り除くことです。

var myDate = new Date("2012-02-10T13:19:11+0000");
var offset = myDate.getTimezoneOffset() * 60 * 1000;

var withOffset = myDate.getTime();
var withoutOffset = withOffset - offset;
alert(withOffset);
alert(withoutOffset);

動作しているようです。 ISO文字列をDateオブジェクトに変換する際の問題については、提供されているリンクを参照してください。

編集

Prasad19saraのコメントによると、ミリ秒への不正な変換のバグを修正しました。

104
Oybek

以前のソリューションの略記は

var myDate = +new Date("2012-02-10T13:19:11+0000");

オンザフライ型変換を実行し、ミリ秒形式で日付を直接出力します。

別の方法は、エポック時間のみをミリ秒で出力するDate utilの解析メソッドを使用することです。

var myDate = Date.parse("2012-02-10T13:19:11+0000");
23
Tahsin Turkoz

2017年現在の別のオプションは、Date.parse()を使用することです。 MDNの documentation は、ES5より前では信頼性がないことを指摘しています。

var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);

詳細については fiddle を参照してください。

4
samurai_jane

別の可能な解決策は、現在の日付をJanuary 1, 1970と比較することです。new Date(0)January 1, 1970を取得できます。

var date = new Date(); 
var myDate= date - new Date(0);
2
LingYan Meng

別の解決策は、次のように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()と同様にミリ秒に変換します

0
Black Mamba

はい、1行でこれを行うことができます

let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673
0
Mohid Kazi
var date = new Date()
console.log(" Date in MS last three digit = "+  date.getMilliseconds())
console.log(" MS = "+ Date.now())

これを使用して、ミリ秒単位で日付を取得できます

0
JibinNajeeb