アドオンでmoment.jsを使用すると、次のことができます。略語はライブラリによって提供されるデータにあるため、ブラウザまたはオペレーティングシステムに関係なく、結果は一貫しています。
例の結果は、米国太平洋時間帯に設定されたコンピュータから、次のとおりです。
var zone = moment.tz.guess(); // "America/Los_Angeles"
var abbr = moment.tz(zone).format("z"); // either "PST" or "PDT", depending on when run
免責
タイムゾーンの略語は、信頼性や一貫性がありません。 listsofthemが多数あり、中央標準時、キューバ標準時、中国標準時の「CST」など多くのあいまい性があります。一般的には、それらを使用しないでください。は決してであるべきです。
また、モーメントタイムゾーンの略語はIANA TZ Databaseに由来します。このデータの最近の版では、多くの「発明された」略語が代わりに数値オフセットに置き換えられました。たとえば、ユーザーのタイムゾーンがAsia/Vladivostok
の場合、以前のバージョンのように"VLAT"
を取得する代わりに、"+10"
を取得します。これは、略語「VLAT」は、もともとデータを埋めるためにtzデータベースによって考案されたものであり、その地域の人物が実際に使用していないためです。略語は、他の言語略語が実際に使用される可能性のある地域であっても、常に英語で表示されます。
afaikこれはできません。ただし、 '(new Date).getTimezoneOffset()'でタイムゾーンオフセットを取得することができます。 – Christoph
@Christophあなたは確かにそれは不可能ですか? –
DateオブジェクトとRegExだけで実行できるはずです。 Date()のようなものmatch(/['\\(']...['\\)']/) – DottedT