web-dev-qa-db-ja.com

日付と時刻をUnixタイムスタンプに変換する

このような日付と時刻を表示しています

2009年11月24日17:57:35

簡単に操作できるように、Unixタイムスタンプに変換したいと思います。正規表現を使用して文字列の各部分を照合し、そこからUNIXタイムスタンプを計算する必要があります。

私は正規表現にひどいですが、これを思いつきました。改善を提案してください^。^

/((\d){2}+)-((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)+)-((\d){4}+) ((\d){2}+):((\d){2}+):((\d){2}+)/gi

これどうやってするの?

57
Ben Shelock

適切な日付解析関数が必要な場合は、 date.js を参照します。投げることができるほぼすべての日付文字列を受け取り、JavaScriptのDateオブジェクトを返します。

Dateオブジェクトを取得したら、そのgetTime()メソッドを呼び出して、1970年1月1日からのミリ秒を取得できます。その結果を1000で除算して、Unixタイムスタンプ値を取得します。

コードにdate.jsを含めるだけで、次のようになります。

var unixtime = Date.parse("24-Nov-2009 17:57:35").getTime()/1000
86
Ian Clelland

getTimeは上記の回答では機能しないようです。

Date.parse(currentDate)/1000
58
chovy

Date.getTime() function、またはDateオブジェクト自体を使用して、分割すると時間をミリ秒単位で返すことができます。

var d = new Date();

d/1000
> 1510329641.84

d.getTime()/1000
> 1510329641.84
4
Xeoncross

日付ピッカーを使用して日付と時間ピッカーを取得するには、2つの変数を取得します。これは、unixtime形式でそれらをまとめてから取り出す方法です...

let datetime = oDdate+' '+oDtime;
let unixtime = Date.parse(datetime)/1000;
console.log('unixtime:',unixtime);

それを証明する:

let milliseconds = unixtime * 1000;
dateObject = new Date(milliseconds);
console.log('dateObject:',dateObject);

楽しい!

0
David White