110

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

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

ミリ秒まで。

作成日から現在の日付を比較したいからです。作成日はISO日付です。

4

10 に答える 10

195

これを試して

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のコメントによると、ミリ秒への誤った変換に関するバグを修正しました。

于 2012-02-10T14:33:46.917 に答える
37

以前のソリューションの省略形は次のとおりです。

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

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

もう 1 つの方法は、EPOCH 時間をミリ秒単位でのみ出力する Date util の parse メソッドを使用することです。

var myDate = Date.parse("2012-02-10T13:19:11+0000");
于 2015-09-16T00:45:29.110 に答える