現在、さまざまなアプリやAPIを使う中で、タイムゾーンの処理が必要になる場面が増えています。
しかし、タイムゾーンの理解や変換方法は意外と複雑で、間違えると結果がおかしくなりがちです。
そこで、私自身がタイムゾーン処理で悩んだ経験から、基本的な概念や各種アプリでの書き方を備忘録としてまとめてみました。
タイムゾーンとは
タイムゾーンとは、地球上の各地域で異なる時刻を管理するために定められた基準のことです。
主に協定世界時 (UTC) を基準に、各地域が進みまたは遅れている時間(オフセット)を定めています。
- 協定世界時 (UTC): 世界標準時で、夏時間などの変更がありません。
- 日本標準時 (JST): UTCより9時間進んだ日本の標準時。
- 太平洋時間 (PST/PDT): アメリカ西海岸で使用される時間で、夏時間と冬時間が切り替わります。
- 書き方としては一般的な書き方とISO8601での書き方があります。
一般的な書き方
文章で表現する場合や人に対して説明する際はこの書き方が便利です。
標準協定時 (UTC)
- 一般的な表記:
UTC
- 適用地域: 世界基準
日本標準時 (JST)
- 一般的な表記:
JST
- 適用地域: 日本
太平洋時間 (PST/PDT)
- 一般的な表記:
PST
(冬)、PDT
(夏時間) - 適用地域: アメリカ西海岸、カナダ西部
ISO 8601での書き方
システム間でのやり取りや正確な日時管理を行うにはこちらの方が便利です。特に、現在のようなグローバルなシステム環境では欠かせない規格です。
標準協定時 (UTC)
- 表記方法: 秒の後に
Z
を付けます。 - 例:
2025-01-15T00:00:00Z
日本標準時 (JST)
- 表記方法: 秒の後に
+09:00
を付けます。 - 例:
2025-01-15T09:00:00+09:00
太平洋時間 (PST/PDT)
- 表記方法: 秒の後に
-08:00
または-07:00
を付けます。- 冬 (PST):
2025-01-14T16:00:00-08:00
- 夏 (PDT):
2025-01-14T17:00:00-07:00
- 冬 (PST):
タイムスタンプとは
タイムスタンプとは、特定の日時を記録する「時刻のスタンプ」のことです。
「いつ、どの時点で何が行われたのか」を正確に記録するために使われます。
カードリーダーが良い例です。
タイムスタンプは、コンピュータシステムやアプリケーション、データベースなどで非常に重要な役割を果たし、イベントが発生した日時を記録して管理する際に欠かせない仕組みです。
タイムゾーンのまとめ (協定世界時、日本標準時、太平洋時間)
項目 | 協定世界時 (UTC) | 日本標準時 (JST) | 太平洋時間 (PST/PDT) |
---|---|---|---|
概要 | 世界標準の基準時刻 | 日本の標準時刻(UTC+9) | アメリカ西部の標準時、夏時間はUTC-7 |
一般的な表記 | UTC | JST | PST (冬)/ PDT (夏時間) |
ISO 8601表記 | 2025-01-15T00:00:00Z | 2025-01-15T09:00:00+09:00 | 2025-01-14T16:00:00-08:00 (PST) |
適用地域 | 世界基準 | 日本 | アメリカ西海岸、カナダ西部 |
サポート状況 | ほとんどのシステムで対応 | 主に日本国内システムで使用 | グローバルなシステムで頻繁に使用 |
各ツールでのタイムゾーンとタイムスタンプの扱い
1. X(旧Twitter)
- タイムゾーン:
- デフォルトは 協定世界時 (UTC)。
- タイムゾーンの情報はレスポンスには含まれず、タイムスタンプはUTC基準で返されます。
- タイムスタンプの例:
2025-01-15T00:00:00Z
(ISO 8601形式、Z
はUTCを示す)
- 補足:
- タイムゾーンを考慮した変換は、取得後に独自に処理する必要があります。
- 例えば、JSTに変換する場合は外部ツールやコードを使用。
2. Make
タイムゾーン:
デフォルトは 協定世界時 (UTC)。
タイムゾーンを指定してフォーマット変換が可能です。
タイムスタンプの扱い:
データ処理で取得するタイムスタンプはデフォルトでUTC。
変換にはformatDate
関数を使用。
3. Power Automate
タイムゾーン:
デフォルトは 協定世界時 (UTC)。convertTimeZone
関数を使用してタイムゾーンを変換可能。
タイムスタンプの扱い:
現在時刻を取得する際はutcNow()
を使用。
変換にはconvertTimeZone
関数を組み合わせます。
ツール別タイムゾーンとタイムスタンプまとめ
項目 | X(旧Twitter) | Make | Power Automate |
---|---|---|---|
デフォルトタイムゾーン | UTC | UTC | UTC |
タイムスタンプ形式 | 2025-01-15T00:00:00Z | 2025-01-15 00:00:00 | 2025-01-15T00:00:00Z |
日本標準時 (JST)への変換例 | 独自処理が必要 | {{formatDate(now; "YYYY-MM-DD HH:mm:ss"; "Asia/Tokyo")}} | convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time') |
太平洋時間 (PST/PDT)への変換例 | 独自処理が必要 | {{formatDate(now; "YYYY-MM-DD HH:mm:ss"; "America/Los_Angeles")}} | convertTimeZone(utcNow(), 'UTC', 'Pacific Standard Time') |
コメント