8

2011-03-29 17:06:21 UTCjavascriptでUTC日​​時文字列(例)をエポック(ミリ秒)に変換するにはどうすればよいですか?

これが不可能な場合、(<、> などの) UTC 日時文字列を比較する方法はありますか?

4

5 に答える 5

4

UTC 日付文字列は文字列のように辞書式に比較できることに注意してください。これは、上位の値が文字列の左端に表示されるためです。

var s1 = '2011-03-29 17:06:21 UTC'
  , s2 = '2001-09-09 01:46:40 UTC';
s1 > s2; // => true
s2 > s1; // => false

Date.UTC次のメソッドを使用して、例の文字列から日付フィールドを抽出し、ミリ秒数を返すことができます。

var getEpochMillis = function(dateStr) {
  var r = /^\s*(\d{4})-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)\s+UTC\s*$/
    , m = (""+dateStr).match(r);
  return (m) ? Date.UTC(m[1], m[2]-1, m[3], m[4], m[5], m[6]) : undefined;
};
getEpochMillis('2011-03-29 17:06:21 UTC'); // => 1301418381000
getEpochMillis('2001-09-09 01:46:40 UTC'); // => 1000000000000
于 2011-04-15T17:57:51.457 に答える
1

datejsを使用すると、UTC 文字列を Date オブジェクトに変換するのに役立ちます。その後は、日付オブジェクトで .getTime() を呼び出してミリ秒を取得するだけです。

于 2011-04-15T17:07:56.383 に答える
1

これはそれを行う方法です。ナンセンスはありません。Date.UTC は UTC タイムスタンプを受け入れ、エポックを返します

var epoch_date = Date.UTC(year,mon,day,hours,min,sec,milisec);
于 2012-12-28T13:05:39.797 に答える
0

次のように使用できますgetDateFromFormat(dateValue, dateFormat) (ここから入手できます)

getDateFromFormat("2011-03-29 17:06:21","yyyy-MM-dd HH:mm:ss")

エポック時間をミリ秒単位で返します。

于 2011-04-15T17:53:10.337 に答える