通常の日付2012.08.10
をjavascriptのUNIXタイムスタンプに変換するにはどうすればよいですか?
フィドル: http://jsfiddle.net/J2pWj/
PHP、Rubyなどで変換する多くの投稿をここで見ました。しかし、JS内でこれを行う必要があります。
new Date('2012.08.10').getTime() / 1000
JavaScript日付のドキュメント を確認してください。
parseInt((new Date('2012.08.10').getTime() / 1000).toFixed(0))
toFixed(0)
を追加して、1000で除算してミリ秒から秒に変換するときに小数点を削除することが重要です。
.getTime()
関数はミリ秒単位のタイムスタンプを返しますが、真のUNIXタイムスタンプは常に秒単位です。
Moment.js APIを確認してください。これは非常に使いやすく、多くの機能が組み込まれています。
あなたの問題については、次のようなものを使用できると思います:
var unixTimestamp = moment('2012.08.10', 'YYYY.MM.DD').unix();
単項+演算子を使用できます
(+new Date('2012.08.10')/1000).toFixed(0);
http://xkr.us/articles/javascript/unary-add/ -日付の下を確認します。
var d = '2016-01-01T00:00:00.000Z';
console.log(new Date(d).valueOf()); // returns the number of milliseconds since the Epoch
Date.parse()を使用できますが、受け入れる入力形式は実装依存です。ただし、日付をISO形式(YYYY-MM-DD)に変換できる場合、ほとんどの実装はそれを理解する必要があります。
Date.parseが間違った結果を与えるのはなぜですか? を参照してください。
Date.parse()メソッドを使用して実行できます。
Date.parse($("#yourCustomDate).val())
Date.parse( "03.03.2016")output-> 1456959600000
Date.parse( "2015-12-12")output-> 1449878400000
タイムスタンプをPHPのタイムスタンプと比較した後、上記のどれも私のタイムゾーンに合っていないようです。以下のコードは、私が行っているプロジェクトにとって最も重要なPHPと同じ結果をもたらしました。
function getTimeStamp(input) {
var parts = input.trim().split(' ');
var date = parts[0].split('-');
var time = (parts[1] ? parts[1] : '00:00:00').split(':');
// NOTE:: Month: 0 = January - 11 = December.
var d = new Date(date[0],date[1]-1,date[2],time[0],time[1],time[2]);
return d.getTime() / 1000;
}
// USAGE::
var start = getTimeStamp('2017-08-10');
var end = getTimeStamp('2017-08-10 23:59:59');
console.log(start + ' - ' + end);
NodeJSでこれを使用していますが、タイムゾーンは「オーストラリア/シドニー」です。だから、私はこれを.envファイルに追加する必要がありました:
TZ = 'Australia/Sydney'
上記は以下と同等です:
process.env.TZ = 'Australia/Sydney'
var date = new Date('2012.08.10');
var unixTimeStamp = Math.floor(date.getTime() / 1000);
この場合、整数のみを返すことが重要であるため(単純な除算では返されません)、実際に経過した秒のみを返すことが重要です(そのため、このコードはMath.floor()
ではなくMath.round()
を使用します)。
var datestr = '2012.08.10';
var timestamp = (new Date(datestr.split(".").join("-")).getTime())/1000;