javascriptを使用して、「Wed Jun 20 19:20:44 +0000 2012」のような「人間の時間」文字列を「1338821992」のようなタイムスタンプ値に変換するにはどうすればよいですか?
質問する
34609 次
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);
于 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 に答える