目標:検索local time
し、UTC time offset
その後、形式は次のURLを構築します。
URLの例:/ Actions / Sleep?duration = 2002-10-10T12:00:00−05:00
形式はW3C勧告に基づいています:http : //www.w3.org/TR/xmlschema11-2/#dateTime
ドキュメントは言う:
たとえば、2002-10-10T12:00:00−05:00(2002年10月10日の正午、米国の中央夏時間および東部標準時)は2002-10-10T17:00:00Zと等しくなります。 2002-10-10T12:00:00Zより5時間後。
したがって、私の理解に基づいて、私はnew Date()によってローカル時間を見つけ、次にgetTimezoneOffset()関数を使用して差を計算し、それを文字列の末尾に付加する必要があります。
1.形式で現地時間を取得する
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
出力
2013-07-02T09:00:00
2.時間によるUTC時間オフセットの取得
var offset = local.getTimezoneOffset() / 60;
出力
7
3. URLの構築(時間部分のみ)
var duration = local + "-" + offset + ":00";
出力:
2013-07-02T09:00:00-7:00
上記の出力は、現地時間が2013/07/02 9amであり、UTCとの差が7時間であることを意味します(UTCは現地時間より7時間進んでいます)
これまでのところ機能しているようですが、getTimezoneOffset()が-120のような負の値を返すとどうなりますか?
W3Cドキュメントから理解できないので、このような場合の形式はどのようになっているのだろうと思います。前もって感謝します。
toISOString()
2009年から含まれているという簡単なメモです。以下の私の答えを参照してください。