概要
日時フィールドの種類
日時フィールドには、以下の種類があります。
- 日時(タイムゾーン付き) - 日時を UTC(協定世界時)に統一して変換し、必要に応じてタイムゾーンを変換します。
- 日時(タイムゾーンなし) - タイムゾーン情報を含まない日付と時刻を保存します。
- 日付(時刻なし) - 日付のみを保存し、時刻部分は含みません。
- 時刻 - 時刻のみを保存し、日付部分は含みません。
- Unixタイムスタンプ - Unixタイムスタンプとして保存します。通常は、1970年1月1日からの経過秒数です。
各日時関連フィールドの例:
各データソースの対応
NocoBase、MySQL、PostgreSQL の対応表:
注:
- MySQL TIMESTAMP のデータ範囲は UTC
1970-01-01 00:00:01 ~ 2038-01-19 03:14:07の間です。この範囲を超え る場合は、DATETIME または BIGINT を使用して Unixタイムスタンプを保存することを推奨します。
日時保存の処理フロー
タイムゾーン付き
日期时间(不含时区) と Unix 时间戳 が含まれます。

注:
- より広いデータ範囲に対応するため、NocoBase の日時(タイムゾーン付き)フィールドでは、MySQL データベースに DATETIME を使用しています。保存される日付値は、サーバーの TZ 環境変数に基づいて変換された値です。TZ 環境変数を変更すると、保存されている日時の値も変化します。
- UTC と現地時間には時差があるため、UTC の元の値をそのまま表示すると、ユーザーが誤解する可能性があります。
タイムゾーンなし

UTC
UTC(協定世界時、Coordinated Universal Time)は、世界各地の時間を調整・統一するための国際的な時間標準です。原子時計に基づく高精度な時間標準であり、地球の自転による時間とも同期しています。
UTC と現地時間には時差があるため、UTC の元の値をそのまま表示すると、ユーザーが誤解する可能性があります。例えば:
上記はすべて同じ時刻を表しており、タイムゾーンだけが異なります。

