1

次の日付文字列を検討してください。

"2012-08-20T15:00:00-07:00"

"-07:00" このオフセットが追加されていることをどのように確認できますか?としてタイム オフセットが追加されています。私は正規表現でそれを行うことができることを知っています。しかし、他に簡単な方法はありますか?

または、正規表現を持っている人はいますか?

4

2 に答える 2

1

正規表現でできることはわかっていますが、他にもっと簡単な方法はありますか?

私はそうは思いません。正規表現は利用可能な最も単純なパターンマッチャーです。

正規表現を持っている人はいますか?

私はこれがそれを行うべきだと思います:

/[+-]\d\d:\d\d$/.test(datestring)

解析したい場合は、

var match = /([+-]?\d\d):(\d\d)$/.exec(datestring);
if (match)
    return parseInt(match[1], 10)*60 + parseInt(match[2], 10)*(match[1].charAt(0)=="-"?-1:1);
return 0;
于 2013-02-05T21:44:22.323 に答える
-1

日付文字列の形式が常に同じである場合は、単に.length何かが追加されたかどうかを確認するために使用できます。

var your_string = "2012-08-20T15:00:00";
if(your_string.length > 19) {
    // offset added
    // offset = your_string.substring(19);
} else {
    // no offset added
}

とにかく、(new Date).getTime()1970 年 1 月 1 日 0:00:00h UTC からのミリ秒を返す を使用することをお勧めします。これで計算するのはずっと簡単です...

于 2013-02-05T20:15:29.887 に答える