1. ホーム
  2. javascript

[解決済み] javascript で iso 日付をミリ秒に変換する

2022-10-27 05:34:10

質問

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);

EDIT

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 オブジェクトに変換する際の問題に関しては、提供されたリンクを参照してください。

EDIT

Prasad19saraさんのコメントにより、ミリ秒への変換が正しくない不具合を修正しました。