ISO日付をミリ秒に変換できますか?たとえば、このISOを変換したい
2012-02-10T13:19:11+0000
ミリ秒まで。
作成日と現在の日付を比較したいからです。また、作成日はISO日付です。
ISO日付をミリ秒に変換できますか?たとえば、このISOを変換したい
2012-02-10T13:19:11+0000
ミリ秒まで。
作成日と現在の日付を比較したいからです。また、作成日はISO日付です。
1328796537
で表示されますが、fb apiの場合、日付はisoで表示されます2012-02-10T13:18:45+0000
date1.getTime() - date2.getTime()
-それはあなたが必要とするすべてである
回答:
これを試して
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");
以前のソリューションの省略形は
var myDate = +new Date("2012-02-10T13:19:11+0000");
オンザフライ型変換を行い、日付をミリ秒形式で直接出力します。
もう1つの方法は、EPOCH時間をミリ秒単位でのみ出力するDateutilの解析メソッドを使用することです。
var myDate = Date.parse("2012-02-10T13:19:11+0000");
+new Date()
返し1447857230137
ます。
const dateMillis = Number(new Date('2017-09-26T20:24:18.801Z'))
、new Date('2017-09-26T20:24:18.801Z').getTime()
またはnew Date('2017-09-26T20:24:18.801Z').valueOf()
さらに読みやすくなります。
別の可能な解決策は、現在の日付とを比較することでJanuary 1, 1970
、あなたが得ることができるJanuary 1, 1970
ことでnew Date(0)
、
var date = new Date();
var myDate= date - new Date(0);
var date = new Date(date_string); varミリ秒= date.getTime();
これは私のために働いた!
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