現在タイムスタンプを表示するためにdatetime マイクロフォーマットを使用しているページがありますが、自分のタイムゾーンの人間が読める時間のみを表示しています。
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 9:16 am (EST)</abbr>
私がやりたいのは、abbr タグの innerHTML を同じ形式に書き直すことですが、ユーザーのローカル タイムゾーンで行います。したがって、シアトルの読者の場合、上記は次のように変換する必要があります。
<abbr class="published" title="2009-01-09T09:16:00-05:00">
Friday, January 9, 2009 at 6:16 am (PST)</abbr>
Javascript Date objectを見てきました。これにより、ローカルのタイムゾーン オフセットを取得できます。しかし、いくつか問題があります。
ISO-8601タイムスタンプから新しい Date オブジェクトを作成する簡単な方法がわかりません。(より速い方法がなければ、部分文字列または正規表現で解析できると思います。)
タイムゾーンの略称を取得する方法がわかりません。たとえば、シアトルの読者の場合、時刻の最後に「(PST)」を追加してほしいと思います。そうしないと、タイムスタンプが変換されたことをそのユーザーに明確に伝えることができません (特に、彼が頻繁に訪問し、私の時間がESTにあるという事実に慣れてきました)。