13

javascriptを使用して、「Wed Jun 20 19:20:44 +0000 2012」のような「人間の時間」文字列を「1338821992」のようなタイムスタンプ値に変換するにはどうすればよいですか?

4

4 に答える 4

24

Dateそれからオブジェクトを作成し、実行.getTime()または使用するだけDate.parse()です:

var d = new Date("Wed Jun 20 19:20:44 +0000 2012");
d.getTime(); //returns 1340220044000

//OR

Date.parse("Wed Jun 20 19:20:44 +0000 2012"); //returns 1340220044000

「人間の時間」文字列が Date コンストラクターが理解できる形式 (投稿した例) である場合、うまく機能します。


編集

エポックから経過した秒数である Unix タイムスタンプを意味している可能性があることに気付きました (JS タイムスタンプのような ms ではありません)。その場合、単純に JS タイムスタンプを1000次のように割ります。

//if you want to truncate ms instead of rounding just use Math.floor()
Math.round(Date.parse("Wed Jun 20 19:20:44 +0000 2012") / 1000); //returns 1340220044
于 2012-06-23T20:11:40.570 に答える
5

理論的には、Date.parse(). ただし、実際には、日付と時刻を表す何千もの異なる方法 (さまざまな言語での日/月の名前が最も少ない) があるため、日付を読み取ろうとするよりも、構成要素で日付を取得する方がはるかに簡単です。ストリング。

于 2012-06-23T20:12:10.713 に答える
0

指定した日付/時刻はミリ秒ではなく秒単位のようです。したがって、日付/時刻を秒単位で取得するには、1000 で割る必要があります。

//Gets date in seconds 
var d1 = Date.parse('Wed Jun 20 19:20:44 +0000 2012')/1000;
alert(d1);

例: http://jsfiddle.net/AUt9K/

于 2012-06-23T20:15:58.143 に答える
0

以下を追加するだけです: new Date().getTime()

これにより、現在の時刻のタイムスタンプが取得されます。例: var url = "http://abc.xyz.com/my-script.js?v=" + new Date().getTime();

于 2016-07-28T13:09:26.133 に答える