0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

発売開始時刻をJSTに直すとき、PDTとPSTを取り違えないためのメモ(Intl.DateTimeFormat)

0
Posted at

発売開始時刻をJSTに直すとき、PDTとPSTを取り違えないためのメモ(Intl.DateTimeFormat)

海外の製品発表では「予約開始は太平洋時間の午前5時」のように書かれることが多いです。これを日本時間に直すとき、夏時間(PDT, UTC-7)か標準時間(PST, UTC-8)かを間違えると1時間ずれます。最近、iPhone Duoの予約開始時刻(2026年10月16日 午前5時 太平洋時間)を変換したときのメモです。

NG: オフセットを決め打ちする

// PST(-08:00)と決め打ちすると1時間ずれる
const wrong = new Date('2026-10-16T05:00:00-08:00');
// → 2026/10/16 22:00 (JST)  ※実際は21:00

2026年の米国の夏時間は11月1日まで続くので、10月16日はPDT(UTC-7)です。

OK: 正しいオフセットで作ってから、表示側でタイムゾーンを指定

const start = new Date('2026-10-16T05:00:00-07:00');

const fmt = (timeZone) =>
  new Intl.DateTimeFormat('ja-JP', { timeZone, dateStyle: 'medium', timeStyle: 'short' })
    .format(start);

fmt('America/Los_Angeles'); // 2026/10/16 5:00
fmt('Europe/London');       // 2026/10/16 13:00
fmt('Asia/Hong_Kong');      // 2026/10/16 20:00
fmt('Asia/Tokyo');          // 2026/10/16 21:00

Node.js 20で確認しました。なお、dateStyle と timeZoneName は同時に指定できず、TypeError になります。タイムゾーン名も出したい場合は hour や minute を個別に指定してください。

確認のコツ

  • 元の発表がUTCや現地時刻を併記していれば、それと突き合わせる(今回は英国13:00、香港20:00と一致)。
  • 欧州の夏時間は10月最終日曜、米国は11月第1日曜に終わるので、10月下旬〜11月初旬は特に注意。
  • 11月6日の午前5時(PST)なら、日本時間は22:00になります。

元の時刻は、iPhone Duoのニュースと解説(出典つき)の予約開始の記事で確認しました。Appleとは無関係の個人サイトです。

※この記事はAppleとは無関係です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?