intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

Copyright © 2024 NTT DATA INTRAMART CORPORATION

↑Top

1

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

目次
1. 改訂情報
2. はじめに2.1. 本書の目的
2.2. 対象読者
2.3. 本書の構成
3. 概要
3.1. タイムゾーンについて
3.2. 夏時間について
3.3. 日付と時刻の形式について
3.4. アプリケーションの日付や時刻に関わる対応について
4. 仕様
4.1. 基本的な動作仕様
4.2. 動作仕様を実現するための考え方
5. 実装サンプル
5.1. ローコード開発
5.2. スクリプト開発モデル
5.3. TERASOLUNA Server Framework for Java (5.x) for Accel Platform
5.4. SAStruts Framework on Accel Platform
6. 制限事項
6.1. 環境
6.2. 夏時間
6.3. プログラミング
7. 付録
7.1. 機能独自の仕様
7.2. 機能独自の制限事項
7.3. タイムゾーンの定義
7.4. 日付と時刻の形式の定義

2

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

改訂情報
変更年月日

変更内容

2024-06-28 初版

3

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

はじめに
項目
本書の目的
対象読者
本書の構成

本書の目的
グローバル化を進める企業では、様々な言語や地域の人たちが協力して仕事をすることになるため、企業が利用するアプリケーションも多種多様な言語や地域の特性に対応していることが求められます。
その対応の内、日付や時刻に関わる対応として、以下が挙げられます。
タイムゾーンが異なることに対する対応
夏時間へ対応日付と時刻の形式が異なることに対する対応
本書では、intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する考え方や仕様、制限事項について説明します。

対象読者
本書は次のような読者を対象としています。
intra-mart Accel Platform を利用している中で日付や日時に関する仕様に興味がある利用者
intra-mart Accel Platform でローコード開発やスクラッチ開発を行う開発者

本書の構成
本書では、以下のような構成で intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する考え方や仕様、制限事項について説明します。

概要
まず初めに、タイムゾーンや夏時間、日付と時刻の形式に関する一般的な内容を説明します。
また、アプリケーションの日付や時刻に関わる一般的な対応についても説明します。

仕様
次に、intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する仕様を説明します。

実装サンプル
次に、intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する仕様に則った実装サンプルについて説明します。

制限事項
次に、intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する制限事項を説明します。

付録
最後に、intra-mart Accel Platform の一部の機能のタイムゾーンや夏時間、日付と時刻の形式に関する独自仕様等の補足事項について説明します。

4

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

概要項目
タイムゾーンについて
夏時間について
日付と時刻の形式について
アプリケーションの日付や時刻に関わる対応について
本章では、タイムゾーンや夏時間、日付と時刻の形式に関する一般的な内容を説明します。
また、アプリケーションの日付や時刻に関わる一般的な対応についても説明します。

タイムゾーンについて
タイムゾーンは、地球上の特定の地域で共通に使用される時間の基準を指します。地球上では、地域によって太陽の位置が異なるため、時刻も異なります。タイムゾーンを設定することで、世界中で共通の時間を使用できます。
下表に世界の一部の都市の UTC からの時差（オフセット）を示します。なお、UTC は世界協定時を表し、タイムゾーンの基準となる時間です。
地域（タイムゾーン識別子）

オフセット

ロンドン（Europe/London）

UTC+0

ニューヨーク（America/New_York） UTC-5
東京（Asia/Tokyo）

UTC+9

異なるタイムゾーン間では、時差が発生します。
例えば、ロンドン（Europe/London）が “2024-01-01T00:00:00+00:00” であれば、他の地域での同時刻は下表の通りです。
地域（タイムゾーン識別子）

時刻

ロンドン（Europe/London）

2024-01-01T00:00:00+00:00

ニューヨーク（America/New_York） 2023-12-31T19:00:00-05:00
東京（Asia/Tokyo）

2024-01-01T09:00:00+09:00

夏時間について夏時間とは、夏期に時計を一定時間進めることで、日の出や日の入りに合わせて活動時間を調整する制度のことです。主な目的は、夕方の明るい時間を有効活用し、生活の質の向上やエネルギー消費を抑えることにあります。
夏時間は国や地域によって実施期間が異なります。日本など夏時間を導入していない国や地域もあります。

5

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
国・地域

夏時間開始日夏時間終了日

アメリカ

3月第2日曜日

11月第1日曜日

イギリス

3月最終日曜日

10月最終日曜日

日本

なし

なし

夏時間は、一般的に標準時を1時間進めることで実施されます。
夏時間開始日: 標準時を1時間進めます。
夏時間終了日: 標準時を1時間戻します。
夏時間開始日は、1時間進められることで、スキップされる時間帯が存在し、23時間で1日が終わります。
夏時間終了日は、1時間戻されることで、重複する時間帯が存在し、25時間で1日が終わります。
例えばニューヨークの場合、2023年3月12日の午前2時に夏時間が開始しました。
夏時間開始時は、“01:59:59” から “03:00:00” に1時間進められました。これにより2時台がスキップされました。

そして、2023年11月5日の午前2時に夏時間が終了しました。
夏時間終了時は、“01:59:59” から “01:00:00” に1時間戻されました。これにより1時台が2度訪れました。

日付と時刻の形式について
日付と時刻の形式とは、年、月、日、時、分、秒などの情報をどのように表現するかを定義したものです。
日付と時刻の形式の国際標準として、ISO 8601 があります。
ISO 8601 は、日付と時刻の表現方法を世界共通で定めた規格で、年、月、日、時、分、秒、ミリ秒、オフセットの順に記載します。
ISO 8601 には、基本形式と拡張形式があます。

6

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
例えば、日本時間の2012年9月10日の午後6時を拡張形式では、“2012-09-10T18:00:00+09:00” と表記します。
ISO 8601 は国際標準ですが、広く一般的に利用されているわけではありません。
より一般的な日付と時刻の表現方法は、地域や文化によって異なります。
もし、地域に合った形式で表示しなかった場合、思わぬ誤解が生じる場合があります。
例えば、“12/09/10” と表示された日付は、地域によって以下の様に意味が異なります。
地域

意味

日本

2012年9月10日

英国

2010年9月12日

米国

2010年12月9日

アプリケーションの日付や時刻に関わる対応について
アプリケーションのユーザがそれぞれ異なる地域や文化圏に住んでいることを想定した場合、ユーザごとに日付と時刻の形式やタイムゾーンが異なります。
アプリケーションは、ユーザの利便性を向上させるために、日付と時刻の形式およびタイムゾーンを柔軟に設定できることが求められます。
アプリケーションは、一般的に日付や時刻に関わる対応として、以下の点を考慮する必要があります。
1. ユーザによる日付と時刻の形式やタイムゾーンの設定
ユーザごとに住んでいる地域に合ったタイムゾーンを設定できる必要があります。

また、ユーザごとに日付と時刻の形式を設定できる必要があります。

2. ユーザの設定に応じた日付や日時の表示
画面等のユーザインタフェースにおいて、ユーザのタイムゾーンに基づいて、日付や日時を表示する必要があります。

また、誤解が生じないようにユーザが設定した形式に従って、日付や日時を表示する必要があります。

7

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

3. ユーザの設定に応じた日付や日時の入力
画面等のユーザインタフェースによるユーザからの入力については、ユーザのタイムゾーンに基づいていることを想定する必要があります。

また、ユーザが設定した形式に従って、日付や日時を入力できる必要があります。

4. 夏時間への対応
夏時間を実施している地域では、夏時間の開始と終了時刻を正しく認識し、日付や日時の表示を調整する必要があります。

5. システムで一意のタイムゾーンによるログ出力
ログは、行ごとに異なるタイムゾーンに基づいて日時が出力されていると、時系列に確認することが困難です。
ログは、システムで一意なタイムゾーンに基づいて、日時を出力する必要があります。

8

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

このように、ユーザごとに異なるタイムゾーンや日付と時刻の形式に対応することで、ユーザが自身に合った日付や日時を確認できます。
日付や時刻に関わる対応は、アプリケーションのユーザビリティの向上に大きく貢献する重要な機能です。

9intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

仕様
項目
基本的な動作仕様
３種類のタイムゾーンを設定可能
ユーザのタイムゾーンに基づいて画面を表示
ユーザのタイムゾーンに基づいた画面からの入力
ユーザごとに日付と時刻の形式を設定可能
ユーザの日付と時刻の形式で表示
ユーザの日付と時刻の形式で入力
1日は24時間換算
動作仕様を実現するための考え方
日付は相対的
日時は絶対的
日付と日時の比較
本章では、intra-mart Accel Platform のタイムゾーンや夏時間、日付と時刻の形式に関する動作仕様や考え方を説明します。

基本的な動作仕様
intra-mart Accel Platform は、「アプリケーションの日付や時刻に関わる対応について」の記載内容を満たすように動作します。
つまり、ユーザごとにタイムゾーンや日付と時刻の形式を設定可能で、ユーザにとって適切なタイムゾーンや形式で日付や日時の入力・表示が可能です。

３種類のタイムゾーンを設定可能
intra-mart Accel Platform では、アカウントタイムゾーン、テナントタイムゾーン、システムタイムゾーンという３種類のタイムゾーンを設定できます。
名前

説明

アカウントタイムゾーン

ユーザごとに設定できるタイムゾーンです。
ログインした後の日時情報の画面表示や入力、アカウントの有効期間のような期間情報との比較等、様々な機能で利用されます。
「サイトマップ」→「個人設定」→「ロケール」をクリックすることで表示される画面から設定可能です。
詳しくは「一般ユーザ操作ガイド」-「ロケールを設定する」を参照してください。

テナントタイムゾーン

テナントごとに設定できるタイムゾーンです。
アカウントタイムゾーンのデフォルト値として利用されます。
また、アナウンス機能等の一部の機能で利用されます。
「サイトマップ」→「テナント管理」→「テナント情報」→「タイムゾーン」をクリックすることで表示される画面から設定可能です。
詳しくは「テナント管理者操作ガイド」-「タイムゾーンを設定する」を参照してください。

システムタイムゾーン

システムで一意なタイムゾーンです。
日時データのデータベース登録や、ログ出力等で利用されます。
システムタイムゾーンは、Java の起動引数として指定できます。
指定しなかった場合は、OS の設定等に依存してシステムタイム
ゾーンが決定されます。
例えば、システムタイムゾーンを UTC に変更する場合は、Resin
であれば resin.properties の jvm_args に Duser.timezone=UTC を追加することで変更できます。

10

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
コラム
テナントについてintra-mart Accel Platform では、複数の独立した企業が単一の intra-mart Accel Platform システムを共同利用する場合、テナントと呼ばれる単位でシステムを分割できます。
テナント分割により、データベースやストレージといったデータの永続領域をテナントごとに設定できるため、新たなシステムを構築することなく、各企業のデータを完全に分離することが可能です。

ユーザは利用したいタイムゾーンをアカウントタイムゾーンとして設定できます。
ログインユーザのタイムゾーンとして、アカウントタイムゾーンが利用されます。
もし、アカウントタイムゾーンが設定されていない場合は、テナントタイムゾーンがログインユーザのタイムゾーンとして利用されます。

ユーザのタイムゾーンに基づいて画面を表示
intra-mart Accel Platform では、画面上の日付や日時は、基本的にログインユーザのタイムゾーンに基づいて表示されます。
例えば、ログインユーザのタイムゾーンがニューヨーク（America/New_York）であった場合に、「ジョブネットモニタ一覧」に表示される
ジョブネットの開始日と終了日は、ニューヨーク（America/New_York）の日時が表示されます。

11

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
ログインユーザのタイムゾーンが東京（Asia/Tokyo）であった場合には、東京（Asia/Tokyo）の日時が表示されます。

夏時間
intra-mart Accel Platform では、夏時間期間中の日時は、調整して表示されます。
例えば、ログインユーザのタイムゾーンがニューヨーク（America/New_York）であった場合に、夏時間期間中の日時を表示すると、UTC-4の日時が表示されます。
同じ条件で夏時間期間外の日時を表示すると、UTC-5 の日時が表示されます。

ユーザのタイムゾーンに基づいた画面からの入力
intra-mart Accel Platform では、ユーザにより画面から入力された日付や日時は、基本的にログインユーザのタイムゾーンに基づいた日付や日時として扱います。
例えば、ログインユーザのタイムゾーンがニューヨーク（America/New_York）であった場合に、「スケジュール登録」から期間を入力したとします。
この場合、入力された期間の開始日時や終了日時は、ニューヨーク（America/New_York）の日時として扱われます。

12intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

ログインユーザのタイムゾーンが東京（Asia/Tokyo）だった場合には、入力値は東京（Asia/Tokyo）の日時として扱われます。

タイムゾーンが指定可能な場合
intra-mart Accel Platform では、画面上で日時と一緒にタイムゾーンが指定可能な場合は、指定されたタイムゾーンに基づいた日時として扱われます。
例えば、ログインユーザのタイムゾーンが東京（Asia/Tokyo）であった場合に、画面上でタイムゾーンとしてロサンゼルス（America/Los_Angeles）と入力すると、入力した日時はロサンゼルス（America/Los_Angeles）の日時として扱われます。

夏時間
intra-mart Accel Platform では、夏時間の日時を入力できます。
例えば、ログインユーザのタイムゾーンがニューヨーク（America/New_York）であった場合に、夏時間期間中の日時を入力すると、UTC-4の日時として処理されます。
これにより、東京（Asia/Tokyo）のユーザがその日時を表示した場合でも適切な日時が表示されます。
タイムゾーンが指定可能な場合も同様に、タイムゾーンをニューヨーク（America/New_York）と指定して夏時間期間中の日時を入力すると、UTC-4 の日時として処理されます。

ユーザごとに日付と時刻の形式を設定可能
intra-mart Accel Platform では、ユーザごとに日付と時刻の形式を設定できます。
具体的には、「サイトマップ」→「個人設定」→「日付と時刻の形式」をクリックすることで表示される画面から設定可能です。

13

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

詳しくは、以下を参照ください。
「一般ユーザ操作ガイド」-「日付と時刻の形式を設定する」

また、テナントごとにユーザのデフォルトの形式を設定可能です。
詳しくは、以下を参照ください。
「テナント管理者操作ガイド」-「日付と時刻の形式を設定する」

ユーザの日付と時刻の形式で表示
intra-mart Accel Platform では、画面上の日付や日時は、ログインユーザの日付と時刻の形式に則って表示されます。
例えば、ログインユーザの日付の表示形式が「MMM d, yyyy」で時刻の表示形式が「h:mm:ss a」あった場合に、「ジョブネットモニタ一覧」には以下のように表示されます。

14

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
ユーザの日付と時刻の形式で入力
intra-mart Accel Platform では、画面から日付や日時を入力する場合に、ログインユーザの日付と時刻の形式に則って入力できます。
例えば、ログインユーザの日付の入力形式が「MM/dd/yyyy」で時刻の入力形式が「HH:mm」あった場合に、「スケジュール登録」から以下のように入力できます。

1日は24時間換算
intra-mart Accel Platform では、1日は 24時間換算します。
例えば、パスワード有効日数を 3日とした場合、ニューヨーク（America/New_York）のユーザが “2023-03-11T00:00:00-05:00” にパス
ワードを変更すると、夏時間の開始により “2023-03-12” は 23時間しかないため、パスワードは “2023-03-14T01:00:00-04:00” まで有効です。​

動作仕様を実現するための考え方
intra-mart Accel Platform は、上述の動作仕様を実現するために、以下のような考え方に基づいて実装されています。
日付や日時の変換は、統一された API によって行います。
日付や日時の変換は、intra-mart Accel Platform が提供している API を使って行います。
これにより、タイムゾーンや日付と時刻の形式に関するユーザごとの設定に応じた変換が行われます。
統一された API を利用することで、ユーザが未設定の場合でも統一された動作を実現できます。
また、統一されたマスタに基づいてタイムゾーンに関する変換や夏時間の調整が行われます。
これにより、ミドルウェアの設定に起因した日付や日時に関する問題が発生しません。

日付は相対的なデータとして扱います。
日付は画面からの入力値をそのまま保存します。
そして、保存された日付をそのまま画面に表示します。
保存された日付は、タイムゾーンごとにデータの意味が異なるため、相対的なデータとして扱います。
これにより、ユーザが日付を直感的に入力・確認できるようにします。

15

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
日時は絶対的なデータとして扱います。
日時は、画面からの入力値をシステムタイムゾーンに変換して保存します。
そして、保存された日時を適切なタイムゾーンに変換して画面に表示したり、処理に利用したりします。
これにより、ユーザが日時を直感的に入力・確認できるようにします。
また、日時データのタイムゾーンがバラバラでは情報を活用することが難しいため、統一されたタイムゾーンで保存することで情報を有効に活用できるようにします。

以降では、「日付は相対的なデータとして扱います。」や「日時は絶対的なデータとして扱います。」という考え方について、もう少し詳しく説明します。

日付は相対的
一般的に、東京（Asia/Tokyo）の “2000-01-01” という日付は、ニューヨーク（America/New_York）ではタイムゾーンが異なるので“1999-12-31” を意味している可能性があります。
具体的に東京（Asia/Tokyo）での “2000-01-01” という日付を日時として記載すると、“2000-01-01T00:00:00+09:00” から “2000-0101T23:59:59+09:00” です。
これは、ニューヨーク（America/New_York）では “1999-12-31T10:00:00-05:00” から “2000-01-01T09:59:59-05:00” です。

東京（Asia/Tokyo）

ニューヨーク（America/New_York）

日付

2000-01-01

1999-12-31 または 2000-01-01

日時

2000-01-01T00:00:00+09:00

1999-12-31T10:00:00-05:00/2000-01-01T23:59:59+09:00/2000-01-01T09:59:59-05:00

intra-mart Accel Platform では、東京（Asia/Tokyo）のユーザが日付を登録する場合、入力した日付がそのまま保存されます。
そして、ニューヨーク（America/New_York）のユーザで確認しても東京（Asia/Tokyo）のユーザで確認しても、入力した日付がそのまま表示されます。

これを日時で考えると、“2000-01-01” という日付が保存されていた場合に、東京（Asia/Tokyo）のユーザでは “2000-0101T00:00:00+09:00” から “2000-01-01T23:59:59+09:00” を意味していて、ニューヨーク（America/New_York）のユーザでは“2000-01-01T00:00:00-05:00” から “2000-01-01T23:59:59-05:00” を意味しています。

日付

東京（Asia/Tokyo）

ニューヨーク（America/New_York）

2000-01-01

2000-01-01

16

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
日時

東京（Asia/Tokyo）

ニューヨーク（America/New_York）

2000-01-01T00:00:00+09:00

2000-01-01T00:00:00-05:00/2000-01-01T23:59:59+09:00/2000-01-01T23:59:59-05:00

intra-mart Accel Platform の日付データは、ユーザごとにデータの意味が異なるため相対的なデータと考えられます。

日時は絶対的東京とニューヨークではタイムゾーンが異なるため、“2000-01-01T00:00:00+09:00” は “1999-12-31T10:00:00-05:00” と同じ日時を表しています。

日時

東京（Asia/Tokyo）

ニューヨーク（America/New_York）

2000-01-01T00:00:00+09:00

1999-12-31T10:00:00-05:00

intra-mart Accel Platform では東京（Asia/Tokyo）のユーザが日時を登録した場合、システムタイムゾーンに変換された日時が保存されます。
そして、ニューヨーク（America/New_York）のユーザが保存された日時を確認すると、ニューヨーク（America/New_York）の日時が表示されます。

intra-mart Accel Platform の日時データは、どのタイムゾーンのユーザが確認しても同じ日時を意味するデータが確認できるため、日付とは異なり絶対的なデータと考えられます。

日付と日時の比較
intra-mart Accel Platform における日付は、日時と比較する場合、ログインユーザのタイムゾーンに基づいた日付として扱われます。
例えば、アカウントの有効期限を “2000-01-01” からとした場合、東京（Asia/Tokyo）のユーザは “2000-01-01T00:00:00+09:00” から有効なアカウントとして扱われます。

17

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

現在時刻が “2000-01-01T00:00:00+09:00” であれば、ニューヨーク（America/New_York）では “1999-12-31T10:00:00-05:00” です。
日付は相対的に扱われるため、ニューヨーク（America/New_York）のユーザは “2000-01-01T00:00:00-05:00” からアカウントが有効となるため、“1999-12-31T10:00:00-05:00” 時点では無効なアカウントとして扱われます。

18

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

実装サンプル
項目
ローコード開発
スクリプト開発モデル
TERASOLUNA Server Framework for Java (5.x) for Accel Platform
SAStruts Framework on Accel Platform
本章では、「仕様」で説明した内容に則ってアプリケーションを作成するための方法について説明します。

ローコード開発
ローコード開発で「仕様」に則ってアプリケーションを作成する方法については、以下を参照ください。
「ローコード開発チュートリアルガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応する」

スクリプト開発モデル
スクリプト開発モデルで「仕様」に則ってアプリケーションを作成する方法については、以下を参照ください。
「スクリプト開発モデル プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応するためのサンプルプログラム」

TERASOLUNA Server Framework for Java (5.x) for Accel PlatformTERASOLUNA Server Framework for Java (5.x) for Accel Platform で「仕様」に則ってアプリケーションを作成する方法については、以下を参照ください。
「TERASOLUNA Server Framework for Java (5.x) プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応する
ためのサンプルプログラム」

SAStruts Framework on Accel Platform
SAStruts Framework on Accel Platform で「仕様」に則ってアプリケーションを作成する方法については、以下を参照ください。
「SAStruts+S2JDBC プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応するためのサンプルプログラム」

19

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

制限事項
項目
環境
常に最新の Java を利用する必要があります。
システムタイムゾーンにはタイムゾーンマスタに定義されているタイムゾーンを設定してください。
データベースのタイムゾーンはシステムタイムゾーンと一致させてください。
システムタイムゾーンには夏時間がないタイムゾーンを指定する必要があります。
運用開始後にシステムタイムゾーンを変更できません。
TERASOLUNA Server Framework for Java (5.x) for Accel Platform を利用する場合、システムタイムゾーンに一部のタ
イムゾーンを設定できません。
夏時間
夏時間の開始による存在しない日時が入力できてしまいます。
夏時間終了時の重複する日時は、2回目の日時のみ入力可能です。
夏時間終了時の日時は、1回目と2回目を見分けることができません。
プログラミング
クライアントサイド JavaScript の Date オブジェクトを利用して現在時刻を取得しないでください。
プログラム内でシステムタイムゾーンを変更しないでください。
スクリプト開発モデルにおいて、夏時間を表す日時を扱う場合に日付オブジェクト（Date）の文字列表現への変換が正確に行われません。
本章では、intra-mart Accel Platform のタイムゾーンや夏時間に関する共通的な制限事項を説明します。

環境
常に最新の Java を利用する必要があります。
intra-mart Accel Platform では、Java の API を利用してタイムゾーンの変換を行います。
最新の情報に基づいてタイムゾーンの変換や夏時間の調整を行うには、最新の Java を利用する必要があります。
利用する Java は、常に最新のマイナーバージョンを利用してください。

システムタイムゾーンにはタイムゾーンマスタに定義されているタイムゾーンを設定してください。
システムタイムゾーンには「タイムゾーンマスタ」に定義されているタイムゾーンを設定してください。
定義されていないタイムゾーンを指定する場合には、タイムゾーンマスタにタイムゾーンを追加してください。

データベースのタイムゾーンはシステムタイムゾーンと一致させてください。
データベースのタイムゾーンはシステムタイムゾーンと一致させてください。
IM-LogicDesigner や ViewCreator で、CURRENT_DATE や CURRENT_TIMESTAMP 等のデータベース側の現在時刻を取得する関数を用いて SQL を作成した場合に、意図せず時刻がズレてしまうことがあります。

システムタイムゾーンには夏時間がないタイムゾーンを指定する必要があります。
intra-mart Accel Platform では、システムタイムゾーンには UTC 等の夏時間がないタイムゾーンを指定する必要があります。
システムタイムゾーンに夏時間がないタイムゾーンを指定しなかった場合、日付や日時がズレて表示されてしまう場合があります。
地域に紐づいたタイムゾーンについては、将来的に夏時間が追加される可能性があります。よって、システムタイムゾーンには UTC 等の地域に紐づかないタイムゾーンを指定してください。
Etc/UTC や Etc/GMT-1 等の識別子が Etc/ から始まるタイムゾーンを指定するには、「タイムゾーンマスタ」への追加が必要です。

運用開始後にシステムタイムゾーンを変更できません。
運用開始後にシステムタイムゾーンを変更すると、日時がズレて画面に表示されます。
intra-mart Accel Platform では、「動作仕様を実現するための考え方」に記載の通り、日時をシステムタイムゾーンに変換して保存します。
変更前のシステムタイムゾーンで保存された日時は、そのまま変更後のシステムタイムゾーンの日時として扱われるため、日時がズレた状態で画面に表示されたり、入力情報との比較に利用されたりします。
運用開始後にシステムタイムゾーンを変更しないでください。

20

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
TERASOLUNA Server Framework for Java (5.x) for Accel Platform を利用する場合、システムタイムゾー
ンに一部のタイムゾーンを設定できません。
TERASOLUNA Server Framework for Java (5.x) for Accel Platform を利用する場合、システムタイムゾーンに以下のタイムゾーンを設定できません。
Etc/GMT+1 等の + という文字を含むタイムゾーン

夏時間
夏時間の開始による存在しない日時が入力できてしまいます。
「夏時間について」の記載の通り、夏時間開始時にはスキップされる時間帯が存在します。
intra-mart Accel Platform では、スキップされて存在しない日時を画面から入力できる場合があります。
例えば、ニューヨーク（America/New_York）の 2023年3月12日の 2時は夏時間開始により存在しませんが、画面から入力できてしまいます。

画面から入力はできてしまいますが、登録時に登録に失敗した旨のエラーメッセージが表示され、データは登録されません。

夏時間終了時の重複する日時は、2回目の日時のみ入力可能です。
「夏時間について」の記載の通り、夏時間終了時には重複する時間帯が存在します。
intra-mart Accel Platform では、画面から1回目の日時を指定できません。
例えば、ニューヨーク（America/New_York）の 2023年11月5日の 1時は夏時間終了により2回訪れますが、画面上で 2023年11月5日の 1時と入力すると、2回目に訪れる日時（“2023-11-05T01:00:00-05:00”）として登録されます。

夏時間終了時の日時は、1回目と2回目を見分けることができません。
「夏時間について」の記載の通り、夏時間終了時には重複する時間帯が存在します。
intra-mart Accel Platform では、画面上から1回目と2回目の日時を見分けることができません。
例えば、ニューヨーク（America/New_York）の 2023年11月5日の 1時は夏時間終了により2回訪れますが、画面上で1回目（UTC-4）の“2023-11-05T01:00:00-04:00” と2回目（UTC-5）の “2023-11-05T01:00:00-05:00” を見分けることができません。

21

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

プログラミング
クライアントサイド JavaScript の Date オブジェクトを利用して現在時刻を取得しないでください。
クライアントサイド JavaScript の Date オブジェクトは、ブラウザやクライアント OS のタイムゾーン設定に基づいて現在時刻を出力します。
ブラウザやクライアント OS のタイムゾーン設定と、アカウントタイムゾーンの設定が一致しているとは限らないため、クライアントサイド
JavaScript の Date オブジェクトを利用して現在時刻を取得しないでください。

プログラム内でシステムタイムゾーンを変更しないでください。
プログラム内で、java.util.TimeZone#setDefault() 等を用いて、システムタイムゾーンを変更しないでください。

スクリプト開発モデルにおいて、夏時間を表す日時を扱う場合に日付オブジェクト（Date）の文字列表現への変換が正確に行われません。
JavaScript の Date インスタンスが以下の条件をすべて満たす場合、Date インスタンスから日付の文字列表現への変換が正確に行われません。1時間ずれた日時に変換されます。
1. 1970 年以前の日付である。
2. システムタイムゾーンにおける夏時間の期間内である。
※ 「システムタイムゾーンには夏時間がないタイムゾーンを指定する必要があります。」という制限事項から外れた設定をしていた場合に発生します。
※ この現象は、スクリプト開発モデルエンジン（Rhino）の仕様によるものです。
例えば、システムタイムゾーンの日時データを、ユーザのタイムゾーン、および、指定した表示形式（例:「yyyy/MM/dd HH:mm:ss」形式）
を使って日時文字列に整形するとします。
Web Application Server のタイムゾーンがJST（日本標準時）になっている場合に以下のコードを実行すると
var date = new Date(1948, 7, 1, 0, 0, 0);
var dateString = DateTimeFormatter.format('yyyy/MM/dd HH:mm:ss', date);
Debug.browse(date.toString(), dateString);

実行結果は、以下です。

22intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
1. date.toString() → Sun Aug 01 1948 00:00:00 GMT+0900 (JST)
2. dateString → 1948/08/01 01:00:00
まず、タイムゾーンを意識したアプリケーションを実装する場合は、DateTime API を利用して日時を扱ってください。
上記の現象は DateTime API を利用して日付を扱うことで文字列表現への変換を正確に行うことができます。
var systemTimeZone = SystemTimeZone.getDefaultTimeZone().data;var dateTimeSystemTZ = new DateTime(1948, 7, 1, 0, 0, 0, systemTimeZone);var dateTimeUserTZ = dateTimeSystemTZ.withTimeZone(Contexts.getAccountContext().timeZone).data;var dateString = DateTimeFormatter.format('yyyy/MM/dd HH:mm:ss', dateTimeUserTZ);
Debug.browse(dateString);

実行結果は、以下です。
1. dateString → 1948/08/01 00:00:00
なお、以下にサンプルプログラムが提供されております。あわせて参照してください。
「スクリプト開発モデル プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応するためのサンプルプログラム」「TERASOLUNA Server Framework for Java (5.x) プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応する
ためのサンプルプログラム」「SAStruts+S2JDBC プログラミングガイド」-「ユーザのタイムゾーンや日付と時刻の形式に対応するためのサンプルプログラム」
次に、タイムゾーンを意識した運用を行わない場合は、以下の設定を行うことで上記の現象を回避できます。
タイムゾーンマスタに Etc/GMT形式 の タイムゾーンID を追加します。
WEB-INF/conf/time-zone-config/im-time-zone-config.xml を開き、time-zone-idタグを追加します。
タイムゾーンマスタについては設定ファイルリファレンスを参照してください。
<time-zone-config><time-zone-id>Etc/GMT-9</time-zone-id></time-zone-config>

Web Application Server が稼動しているJava-VM のシステムプロパティ「user.timezone」に、Etc/GMT形式 の タイムゾーン
ID を指定します。
Resin の場合、<%RESIN_HOME%/conf/resin.properties>を開き、「jvm_args」プロパティに「-Duser.timezone」を設定します。
# Arg passed directly to the JVM
jvm_args : -Xmx4096m -Duser.timezone=Etc/GMT-9

テナントのタイムゾーンを Etc/GMT形式 の タイムゾーンID に変更します。
システムデータベースの im_tenant_info テーブルの time_zone_id の値を Etc/GMT-9 に変更します。
または、テナント管理機能のテナントタイムゾーン変更画面で値を変更します。（GMT+09:00を選択します）
すべてのユーザのタイムゾーンを Etc/GMT形式 の タイムゾーンID または 未設定 に変更します。
ユーザのタイムゾーンは、データベースの値を直接変更することでも設定可能です。
具体的には、テナントデータベースの b_m_account_b テーブルの time_zone_id の値を null または Etc/GMT-9 に変更してください。

23

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

付録
機能独自の仕様項目
テナント管理ViewCreator
TableMaintenance
IM-BPM for Accel Platform
IM-BloomMaker for Accel Platform
IM-LogicDesigner
IM-Repository
本章では、「仕様」に記載されていない、機能独自の仕様について説明します。

テナント管理アナウンス設定の「表示開始日時」「表示終了日時」はテナントタイムゾーンを基準とします。
「表示開始日時」「表示終了日時」を入力することで、アナウンスを表示する時間帯を設定できます。
アナウンスはサーバメンテナンス等の全体周知を想定した機能です。そのため、各ユーザのタイムゾーンで挙動が変わらないよう「表示開始日
時」「表示終了日時」はテナントタイムゾーンを基準としています。

設定については以下を参照してください。
「テナント管理者操作ガイド」-「アナウンスを設定する」

データベース操作の結果の日付、日時項目にはシステムタイムゾーンが適用され、 ISO 8601 形式で表示されます。
データベース操作は、SQLを実行する機能です。実行するSQLがSELECT文であれば、実行結果をそのまま表示することを想定しています。
そのため、データベース操作の結果の日付、日時項目に対しては、アカウントタイムゾーンを適用せず、システムタイムゾーンが適用されます。
また、表示形式についてもアカウントの個人設定「日付と時刻の形式」で指定した形式ではなく ISO 8601 形式（yyyy-MMdd’T’hh:mm:ss’Z’）で表示されます。
システム管理画面のデータベース操作についても同様です。

24intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

パスワードリマインダメールに記載される期限はテンプレートの表示形式が適用されます。
パスワードリマインダーは独自のテンプレートを持ち、ユーザ毎にメール内容の相違点が出ないようにしています。
そのため、パスワードリマインダメールに記載される期限の日時はアカウントタイムゾーンが適用されますが、表示形式はアカウントの個人設
定「日付と時刻の形式」で指定した形式ではなく、テンプレート設定が適用されます。
パスワードリマインダメールにオフセットを含めて期限を記載する場合は以下の様にフォーマットを設定します。

設定については以下を参照してください。
「テナント管理者操作ガイド」-「パスワードリマインダを設定する」

ViewCreator
クエリ編集画面のプレビューではシステムタイムゾーンで値が表示されます。
プレビューは、クエリ作成前にユーザが意図したとおりにクエリが作成されているのかを簡易的に確認することが目的の機能です。
そのため、ユーザごとのアカウントタイムゾーンではなく、システムタイムゾーンで値が表示されます。
表示形式については、アカウントの個人設定「日付と時刻の形式」で指定した形式ではなく ISO 8601 形式（yyyy-MM-dd’T’hh:mm:ss’Z’）
で表示されます。

ViewCreator で扱う日付フォーマットの入力値は個人設定の次に viewcreator-config.xml の設定が上から順に適用されます。
ViewCreator では、日付フォーマットの入力値の設定を viewcreator-config.xml に定義しています。
そのため、日付フォーマットの入力値が、ユーザごとの個人設定で取り扱えなかった場合は、その次に viewcreator-config.xml の設定が上から順に適用されます。
ViewCreator の日付フォーマットの設定については、以下を参照ください。
「ViewCreator 管理者操作ガイド」-「日付フォーマット」「設定ファイルリファレンス」-「ViewCreatorの設定」

データ参照で表示される日付フォーマットはカラムごとのフォーマットの設定が優先的に適用されます。

25

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
データ参照で表示される日付フォーマットは、個人設定よりもカラムごとに設定可能なフォーマットの設定が優先的に適用されます。
カラムごとのフォーマットの設定が空の場合に限り、個人設定のフォーマットが次に適用されます。
フォーマットの設定については、「ViewCreator 管理者操作ガイド - リスト集計の作成」を参照ください。

ロジックフローを利用した場合に IM-LogicDesigner から渡される日付系のデータはすべてViewCreator側ではタイムスタン
プ型としてマッピングされます。
ViewCreatorでは、IM-LogicDesigner のロジックフローを外部データソースとして利用できます。
その際に渡される以下の日付系のデータは、すべてViewCreator側ではタイムスタンプ型としてマッピングされます。
calendardate
imdatetime
sqldatesqltimestamp
ViewCreatorで対応しているフィールドの型については、「ViewCreator 管理者操作ガイド」-「対応するフィールドの型」を参照ください。

ルーティングで返却される日付型・タイムスタンプ型のデータはISO 8601形式が適用されます。
ViewCreatorで作成したルーティングによってクエリ実行された日付型、および、タイムスタンプ型のデータは、「JSONに変換して返却」、「CSVとして返却」いずれの場合も ISO 8601 形式で返却されます。

TableMaintenance
TableMaintenance の各機能ではシステムタイムゾーンを基準とします。
TableMaintenance は、レコードの値を直接操作する機能となっており、利用するユーザごとのアカウントタイムゾーンを考慮すると、機能の性質上期待した動作にならない可能性があります。
そのため、TableMaintenance のレコード表示や更新などの各機能では、ユーザごとのアカウントタイムゾーンではなく、システムタイム
ゾーンで値を取り扱います。

TableMaintenance で扱うタイムスタンプ型は tablemaintenance-config.xml の設定が優先的に適用されます。
TableMaintenance では、タイムスタンプ型の表示や入力についての設定を tablemaintenance-config.xml に定義しています。
TableMaintenance の機能の性質上、タイムスタンプ型ではミリ秒までを取り扱う必要がありますが、ユーザごとの個人設定では、場合によってはミリ秒を扱うことができません。
そのため、タイムスタンプ型については、ユーザごとの個人設定よりも tablemaintenance-config.xml の設定が優先的に適用されます。
tablemaintenance-config.xml の設定が存在しない場合、その次にユーザごとの個人設定が適用されます。
TableMaintenance のタイムスタンプ型設定については、「設定ファイルリファレンス」-「タイムスタンプ型設定」を参照ください。

IM-BPM for Accel Platform
タイマイベントで周期や期間を利用する際に夏時間を意識できます。
タイマイベントにて周期や期間を利用しシステムタイムゾーンを指定した場合、「仕様」に記載のように一日は24時間で換算されます。
そのため夏時間の開始や終了のタイミングで一日が23時間や25時間になる場合、1時間ずれて実行されます。
タイムゾーンをタイマイベントにて指定することでその地域での同時刻に実行されます。

26

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

コラム
R2/2023-03-11T00:00:00-05:00/P3Dは「3日間隔の繰り返しを、2023-03-11T00:00:00-05:00から2回行う」ことを、ISO8601の形式に則って記述したものです。

一部機能においては日時の入力はISO 8601フォーマットで行います。
以下に挙げる機能については、日時の入力においてISO 8601フォーマットで入力を行います。
変数一覧画面での変数の追加
プロセスデザイナでのユーザタスクの期限日時の入力
プロセスデザイナでのタイマイベントの日付の入力
プロセスデザイナでのタイマイベントの周期の入力
申請タスクでの申請基準日の入力
起票タスクでの申請基準日の入力入力された日時は指定された時差を計算し、協定世界時（UTC）として解釈されます。

27

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28

コラム
ISO 8601拡張形式
yyyy-MM-dd'T'hh:mm:ss'Z' のように日付を表現する国際規格です。
表記例
2016-12-01T12:34:56Z （末尾に Z を記述した場合、協定世界時（UTC）として扱われます）
2016-12-01T12:34:56+09:00 （時差はプラス記号またはマイナス記号を用いて表現します）

IM-BloomMaker for Accel Platform
ISO形式で日付のみの入力を受け取った場合、かつ、ユーザのタイムゾーンの時差がマイナスの場合、日付を1日進めて扱います。
日付のみの入力を受け取り、かつユーザのタイムゾーンの UTC からの時差がマイナスの場合、日付を1日進めて扱います。
例: ユーザのタイムゾーンとして「(GMT-11:00)アメリカ領サモア / パゴパゴ」が選択されている場合
日付入力エレメントでの選択値: 2024-05-08
日付入力エレメントに紐付けた変数にセットされる値: 2024-05-08T13:00:00.000-1100

例に挙げたタイムゾーンを利用している場合、入力値の 2024-05-08 を UTC として解釈すれば、変数にセットされる値は「2024-0507T13:00:00.000-1100」です。
しかし、この値を日付入力エレメントに表示すると、2024-05-08 を選択したにも関わらず、2024-05-07 が選択されたように見えてしまい28intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
ます。
これは、IM-BloomMaker for Accel Platform において、日付を日付としてではなく、内部的には日時として扱っているためです。
そのため IM-BloomMaker for Accel Platform では、日付が「2024-05-08」になることを重視し、1日分さらに足した日時を変数にセットします。

日付入力エレメント、時刻入力エレメントの書式は、ユーザの表示形式・入力形式が適用されません。
日付入力エレメント、時刻入力エレメントは、HTML の input type=date, input type=time を利用しています。
これらの HTML タグは、利用しているブラウザの標準UIを利用して表示されます。
そのため、アカウントの個人設定「日付と時刻の形式」で指定した形式が適用されません。

IM-LogicDesigner
デバッグ機能の日時に関する型の変数情報は ISO 8601 形式で表示されます。
デバッグ機能の日時に関する型の変数情報は、オフセット情報を確認可能とするため常に ISO 8601 形式（yyyy-MMdd’T’hh:mm:ss.SSSXXX）で表示されます。
date / sqldate / sqltimestamp 型の変数は、オフセット情報を持たないため常にオフセット0で表示されます。
例）2020-01-01T09:00:00.000Z
calendar / imdatetime 型の変数は、変数が持つタイムゾーンのオフセット情報で表示されます。
例）2020-01-01T00:00:00.000+09:00
デバッグ機能については以下を参照してください。
「IM-LogicDesigner ユーザ操作ガイド」-「ロジックフローをデバッグする」

デバッグログ一覧の実行日時は yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。
デバッグログ一覧の実行日時は、ミリ秒情報を確認可能とするため常に yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。
デバッグログについては以下を参照してください。
「IM-LogicDesigner仕様書」-「デバッグログ出力管理」

IM-Repository
エンティティ操作ログ一覧の実行日時は yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。
エンティティ操作ログ一覧の実行日時は、ミリ秒情報を確認可能とするため常に yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。
エンティティ操作ログについては以下を参照してください。
「IM-Repository ユーザ操作ガイド」-「エンティティ操作ログ」

機能独自の制限事項
項目
IM-BPM for Accel Platform
ViewCreator / TableMaintenanceIM-共通マスタ認可
本章では、「制限事項」に記載されていない、機能独自の制限事項について説明します。

IM-BPM for Accel Platform
一部機能において夏時間に対応していません。
以下を参照してください。
「IM-BPM リリースノート」-「一部機能において夏時間に対応していません。」

29

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
評価観点集計ジョブでは、夏時間の考慮は行っておりません。
以下を参照してください。
「IM-BPM リリースノート」-「評価観点集計ジョブでは、夏時間の考慮は行っておりません。」

全体管理画面の各観点はシステムのタイムゾーンで計算されて集計・表示されます。
以下を参照してください。
「IM-BPM リリースノート」-「全体管理画面の各観点はシステムのタイムゾーンで計算されて集計・表示されます。」

ViewCreator / TableMaintenance
クロス集計の検索条件には、タイムゾーンを指定できません。
以下を参照してください。
「リリースノート」-「クロス集計の検索条件には、タイムゾーンを指定できません。」

リスト集計・サマリ集計における日付データ（日付型、タイムスタンプ型）のタイムゾーン指定機能は、スマートフォン画面
からは利用できません。
以下を参照してください。
「リリースノート」-「リスト集計・サマリ集計における日付データ（日付型、タイムスタンプ型）のタイムゾーン指定機能は、ス
マートフォン画面からは利用できません。」

タイムゾーン付き TIMESTAMP 型には対応していません。
以下を参照してください。
「リリースノート」-「タイムゾーン付き TIMESTAMP 型には対応していません。」

夏時間により存在しない日時を検索条件として指定できてしまいます。
以下を参照してください。
「リリースノート」-「夏時間により存在しない日時を検索条件として指定できてしまいます。」

グラフ集計の凡例コードカラムおよび凡例ラベルカラムに指定された日時型の値はシステムタイムゾーンで表示されます。
以下を参照してください。
「リリースノート」-「グラフ集計の凡例コードカラムおよび凡例ラベルカラムに指定された日時型の値はシステムタイムゾーンで表示されます。」

クロス集計の行見出しおよび列見出しに指定された日時型の値はシステムタイムゾーンで表示されます。
以下を参照してください。
「リリースノート」-「クロス集計の行見出しおよび列見出しに指定された日時型の値はシステムタイムゾーンで表示されます。」

IM-共通マスタ
IM-共通マスタ メンテナンスの日付項目はユーザの表示、入力形式が適用されません。
以下を参照してください。
「リリースノート」-「共通マスタ メンテナンスの日付項目はユーザの表示、入力形式が適用されません。」

IM-共通マスタ 検索の検索基準日を変更する基本情報変更画面はユーザの入力形式が適用されません。
以下を参照してください。
「リリースノート」-「共通マスタ 検索の検索基準日を変更する基本情報変更画面はユーザの入力形式が適用されません。」

認可30

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
期間の認可サブジェクトはユーザの入力形式が適用されません。
以下を参照してください。
「リリースノート」-「期間の認可サブジェクトはユーザの入力形式が適用されません。」

タイムゾーンの定義
項目
タイムゾーンマスタ
初期状態で利用可能なタイムゾーン
タイムゾーンマスタへの追加
本章では、intra-mart Accel Platform のタイムゾーンマスタ、および初期状態で利用可能なタイムゾーンについて説明します。

タイムゾーンマスタ
intra-mart Accel Platform で利用可能なタイムゾーンは、タイムゾーンマスタという設定ファイルに定義されています。
タイムゾーンマスタの設定については「設定ファイルリファレンス」-「タイムゾーンマスタ」を参照してください。

初期状態で利用可能なタイムゾーン
intra-mart Accel Platform では、初期状態で下表のタイムゾーンが利用可能です。
タイムゾーン識別子（時差）地域名

Pacific/Kiritimati(GMT+14:00) キリバス / キリスィマスィ島

Pacific/Enderbury(GMT+13:00) フェニックス諸島 / エンダーバリ島

Pacific/Tongatapu(GMT+13:00) トンガ / トンガタプ島

Pacific/Chatham(GMT+12:45) ニュージーランド / チャタム諸島

Asia/Kamchatka(GMT+12:00) ロシア / 極東連邦管区 / カムチャツカ半島

Pacific/Auckland(GMT+12:00) ニュージーランド / オークランド

Pacific/Fiji(GMT+12:00) フィジー

Pacific/Norfolk(GMT+11:00) ノーフォーク島

Pacific/Guadalcanal(GMT+11:00) ソロモン諸島 / ガダルカナル島

Australia/Lord_Howe(GMT+10:30) オーストラリア / ニューサウスウェールズ州 / ロード・ハウ島

Australia/Queensland(GMT+10:00) オーストラリア / クィーンズランド州

Australia/NSW(GMT+10:00) オーストラリア / ニューサウスウェールズ州

Australia/South(GMT+09:30) オーストラリア / 南オーストラリア州

Australia/North(GMT+09:30) オーストラリア / ノーザンテリトリー準州

Asia/Seoul(GMT+09:00) 大韓民国 / ソウル

Asia/Tokyo(GMT+09:00) 日本 / 東京

Asia/Hong_Kong(GMT+08:00) 中華人民共和国 / 香港

Asia/Kuala_Lumpur(GMT+08:00) マレーシア / クアラルンプール

Asia/Manila(GMT+08:00) フィリピン / マニラ

Asia/Shanghai(GMT+08:00) 中華人民共和国 / 上海

Asia/Singapore(GMT+08:00) シンガポール / シンガポール

Asia/Taipei(GMT+08:00) 台湾 / 台北

Antarctica/Casey(GMT+08:00) ヴィンセンス湾 / ケーシー基地

31

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
タイムゾーン識別子（時差）地域名

Asia/Bangkok(GMT+07:00) タイ王国 / バンコク

Asia/Jakarta(GMT+07:00) インドネシア / ジャカルタ

Asia/Saigon(GMT+07:00) ベトナム / ホーチミン

Asia/Rangoon(GMT+06:30) ミャンマー / ヤンゴン

Asia/Dacca(GMT+06:00) バングラデシュ / ダッカ

Asia/Katmandu(GMT+05:45) ネパール / カトマンズ

Asia/Calcutta(GMT+05:30) インド / コルカタ

Asia/Colombo(GMT+05:30) スリランカ / コロンボ

Asia/Karachi(GMT+05:00) パキスタン / シンド州 / カラーチー

Asia/Tashkent(GMT+05:00) ウズベキスタン / タシュケント州 / タシュケント

Asia/Yekaterinburg(GMT+05:00) ロシア / ウラル連邦管区 / エカテリンブルク

Asia/Kabul(GMT+04:30) アフガニスタン / カーブル

Asia/Dubai(GMT+04:00) アラブ首長国連邦 / ドバイ

Asia/Tbilisi(GMT+04:00) グルジア / トビリシ

Asia/Tehran(GMT+03:30) イラン / テヘラン州 / テヘラン

Africa/Nairobi(GMT+03:00) ケニア / ナイロビ

Asia/Baghdad(GMT+03:00) イラク / バグダード

Asia/Kuwait(GMT+03:00) クウェート / クウェート

Asia/Riyadh(GMT+03:00) サウジアラビア / ナジュド地方 / リヤド

Europe/Moscow(GMT+03:00) ロシア / 中央連邦管区 / モスクワ

Africa/Cairo(GMT+02:00) エジプト / カイロ

Africa/Johannesburg(GMT+02:00) 南アフリカ共和国 / ハウテン州 / ヨハネスブルグ

Asia/Jerusalem(GMT+02:00) イスラエル / エルサレム

Europe/Athens(GMT+02:00) ギリシャ / アテネ

Europe/Bucharest(GMT+02:00) ルーマニア / ワラキア / ブカレスト

Europe/Helsinki(GMT+02:00) フィンランド / ヘルシンキ

Europe/Istanbul(GMT+03:00) トルコ / イスタンブル県 / イスタンブル

Europe/Minsk(GMT+03:00) ベラルーシ / ミンスク

Europe/Amsterdam(GMT+01:00) オランダ / アムステルダム

Europe/Stockholm(GMT+01:00) スウェーデン / ストックホルム県 / ストックホルム

Europe/Berlin(GMT+01:00) ドイツ / ベルリン

Europe/Brussels(GMT+01:00) ベルギー / ブリュッセル

Europe/Paris(GMT+01:00) フランス / イル＝ド＝フランス地域圏 / パリ

Europe/Madrid(GMT+01:00) スペイン / マドリード

Africa/Ceuta(GMT+01:00) スペイン / セウタ

Atlantic/Canary(GMT+00:00) スペイン / カナリア諸島

Europe/Prague(GMT+01:00) チェコ / プラハ

Europe/Rome(GMT+01:00) イタリア / ラツィオ州 / ローマ

Europe/Dublin(GMT+00:00) アイルランド / ダブリン

Europe/Lisbon(GMT+00:00) ポルトガル / リスボン32

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
タイムゾーン識別子（時差）地域名

Europe/London(GMT+00:00) イギリス / ロンドン

GMT

(GMT+00:00) GMT

UTC(GMT+00:00) UTC

Atlantic/Cape_Verde(GMT-01:00) カーボベルデ

Atlantic/South_Georgia(GMT-02:00) サウスジョージア・サウスサンドウィッチ諸島

America/Buenos_Aires(GMT-03:00) アルゼンチン / ブエノスアイレス

America/Sao_Paulo(GMT-03:00) ブラジル / サンパウロ州 / サンパウロ

America/St_Johns(GMT-03:30) カナダ / ニューファンドランド・ラブラドール州 / セント・ジョン
ズ

America/Halifax(GMT-04:00) カナダ / ノバスコシア州 / ハリファックス

America/Puerto_Rico(GMT-04:00) 西インド諸島 / プエルトリコ

America/Santiago(GMT-04:00) チリ / サンティアゴ

Atlantic/Bermuda(GMT-04:00) バミューダ諸島

America/Caracas(GMT-04:00) ベネズエラ / カラカス

America/Bogota(GMT-05:00) コロンビア / ボゴタ

America/Indianapolis(GMT-05:00) アメリカ合衆国 / インディアナ州 / インディアナポリス

America/Lima(GMT-05:00) ペルー / リマ

America/New_York(GMT-05:00) アメリカ合衆国 / ニューヨーク州 / ニューヨーク

America/Panama(GMT-05:00) パナマ

America/Chicago(GMT-06:00) アメリカ合衆国 / イリノイ州 / シカゴ

America/El_Salvador(GMT-06:00) エルサルバドル

America/Mexico_City(GMT-06:00) メキシコ / メキシコ連邦区 / メキシコシティ

America/Denver(GMT-07:00) アメリカ合衆国 / コロラド州 / デンバー

America/Phoenix(GMT-07:00) アメリカ合衆国 / アリゾナ州 / フェニックス

America/Los_Angeles(GMT-08:00) アメリカ合衆国 / カリフォルニア州 / ロサンゼルス

America/Tijuana(GMT-08:00) メキシコ / バハ・カリフォルニア州 / ティファナ

America/Anchorage(GMT-09:00) アメリカ合衆国 / アラスカ州 / アンカレッジ

Pacific/Honolulu(GMT-10:00) アメリカ合衆国 / ハワイ州 / ホノルル

Pacific/Niue(GMT-11:00) ニウエ

Pacific/Pago_Pago(GMT-11:00) アメリカ領サモア / パゴパゴ

タイムゾーンマスタへの追加
タイムゾーンマスタに設定されたタイムゾーンは、画面からタイムゾーンを指定する際の選択肢として表示されます。
画面に表示するにあたって、多言語メッセージの定義が必要です。
タイムゾーンマスタにタイムゾーンを追加した場合は、以下から始まるメッセージキーの多言語メッセージを追加する必要があります。
CAP.Z.IWP.I18N.TIMEZONE.REGION.LONG
CAP.Z.IWP.I18N.TIMEZONE.REGION.SHORT
具体的には、タイムゾーン識別子の「/」を「.」に置換し、すべて大文字にして上記の文字列に付加したものをメッセージキーとする、多言語
メッセージを追加する必要があります。
例えば、タイムゾーン識別子が Europe/Oslo であれば以下のようなメッセージを定義する必要があります。
CAP.Z.IWP.I18N.TIMEZONE.REGION.LONG.EUROPE.OSLO=Europe / Oslo
CAP.Z.IWP.I18N.TIMEZONE.REGION.SHORT.EUROPE.OSLO=Oslo33

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
また、Etc/GMT+1 や Etc/GMT-1 のように、Etc/GMT に時差を付与した識別子については以下のように定義する必要があります。
CAP.Z.IWP.I18N.TIMEZONE.REGION.LONG.ETC.GMT.MINUS.1=Etc / GMT-1
CAP.Z.IWP.I18N.TIMEZONE.REGION.SHORT.ETC.GMT.MINUS.1=GMT-1
CAP.Z.IWP.I18N.TIMEZONE.REGION.LONG.ETC.GMT.PLUS.1=Etc / GMT+1
CAP.Z.IWP.I18N.TIMEZONE.REGION.SHORT.ETC.GMT.PLUS.1=GMT+1

日付と時刻の形式の定義
項目
日付と時刻の形式マスタ
初期状態で利用可能な日付と時刻の形式
英語形式
日本語形式
中国語（簡体字）形式
本章では、intra-mart Accel Platform の日付と時刻の形式マスタ、および初期状態で利用可能な日付と時刻の形式について説明します。

日付と時刻の形式マスタ
intra-mart Accel Platform で利用可能な日付と時刻の形式は、日付と時刻の形式マスタという設定ファイルに定義されています。
日付と時刻の形式マスタの設定については「設定ファイルリファレンス」-「日付と時刻の形式マスタ」を参照してください。

初期状態で利用可能な日付と時刻の形式
intra-mart Accel Platform では、初期状態で「英語形式」、「日本語形式」、「中国語（簡体字）形式」を用意しています。
各形式は、次の6種類のフォーマットから構成されます。
フォーマット名

フォーマット ID

日付（標準表示）

IM_DATETIME_FORMAT_DATE_STANDARD 日付を表示する時の標準的な形式です。

日付（簡易表示）

IM_DATETIME_FORMAT_DATE_SIMPLE

日付を簡略して表示する時に使う形式です。

日付（入力）

IM_DATETIME_FORMAT_DATE_INPUT

日付を入力する時に使う形式です。

時刻（標準表示）

IM_DATETIME_FORMAT_TIME_STANDARD 時刻を表示する時の標準的な形式です。

時刻（タイムスタンプ表示）

IM_DATETIME_FORMAT_TIME_TIMESTAMP 時刻をタイムスタンプで表示する時に使う形式です。

時刻（入力）

IM_DATETIME_FORMAT_TIME_INPUT

説明

時刻を入力する時に使う形式です。

各フォーマットには、形式に紐付いた複数のフォーマットパターンが用意されています。
（例）日本語形式（一部のフォーマットパターンのみを表示しています。）
フォーマット名

パターン

表示例

日付（標準表示）yyyy’年’M’月’d’日’

2012年9月23日日付（簡易表示）M’月’d’日’

9月23日

日付（入力）

yyyy/MM/dd

2012/09/23

時間（標準表示）ah:mm

午前12:00

時間（タイムスタンプ表示） ah:mm:ss
時間（入力）

HH:mm

午前12:00:00
00:00

フォーマット ID とは、ユーザが設定したフォーマットパターンを参照するためのキーです。
フォーマット ID の使い方については、「実装サンプル」を参照してください。

英語形式

34

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
初期状態で設定されている英語形式のフォーマットパターンは下表の通りです。
フォーマット名

パターン

表示例

日付（標準表示）MMM d, yyyy

Sep 23, 2012

MMM dd, yyyy

Sep 23, 2012

d/M/yyyy

23/9/2012

d/MM/yyyy

23/09/2012

dd/MM/yyyy

23/09/2012

d-MMM-yyyy

23-Sep-2012

dd-MMM-yyyy

23-Sep-2012

d MMM, yyyy

23 Sep, 2012

dd MMM, yyyy

23 Sep, 2012d MMM yyyy

23 Sep 2012

dd MMM yyyy

23 Sep 2012

yyyy-MM-dd

2012-09-23

yyyy/MM/dd

2012/09/23

yyyy/M/d

2012/9/23

MM/dd/yyyy

09/23/2012

M/d/yyyy

9/23/2012

MMM d

Sep 23

MMM dd

Sep 23

d/M

23/9

d/MM

23/09

dd/MM

23/09

d-MMM

23-Sepdd-MMM

23-Sepd MMM

23 Sepdd MMM

23 Sep

MM-dd

09-23

yyyy/MM/dd

2012/09/23

yyyy/M/d

2012/9/23

MM/dd/yyyy

09/23/2012

M/d/yyyy

9/23/2012

dd/MM/yyyy

23/09/2012

d/M/yyyy

23/9/2012

h:mm a12:00 AM

hh:mm a12:00 AM

H:mm

0:00

HH:mm

00:00

日付（簡易表示）日付（入力）

時間（標準表示）時間（タイムスタンプ表示） h:mm:ss a

12:00:00 AM

hh:mm:ss a

12:00:00 AM

H:mm:ss

0:00:0035

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
フォーマット名

時間（入力）

パターン

表示例

HH:mm:ss

00:00:00

HH:mm

00:00

H:m

0:0

日本語形式
初期状態で設定されている日本語形式のフォーマットパターンは下表の通りです。
フォーマット名

パターン

表示例

日付（標準表示）yyyy’年’M’月’d’日’

2012年9月23日

yyyy’年’MM’月’dd’日’

2012年09月23日

yyyy/M/d

2012/9/23

yyyy/MM/dd

2012/09/23

yyyy-MM-dd

2012-09-23

M’月’d’日’

9月23日

MM’月’dd’日’

09月23日

M/d

9/23

MM/dd

09/23

MM-dd

09-23

yyyy/MM/dd

2012/09/23

yyyy/M/d

2012/9/23

ah:mm

午前12:00

ahh:mm

午前12:00

H:mm

0:00

HH:mm

00:00

日付（簡易表示）日付（入力）

時間（標準表示）時間（タイムスタンプ表示） ah:mm:ss

午前12:00:00

ahh:mm:ss

午前12:00:00

H:mm:ss

0:00:00

HH:mm:ss

00:00:00

HH:mm

00:00

H:m

0:0

時間（入力）

中国語（簡体字）形式
初期状態で設定されている中国語（簡体字）形式のフォーマットパターンは下表の通りです。
フォーマット名

パターン

表示例

日付（標準表示）yyyy’年’M’月’d’日’

2012年9月23日

yyyy’年’MM’月’dd’日’

2012年09月23日

yyyy/M/d

2012/9/23

yyyy/MM/dd

2012/09/23

yyyy-M-d

2012-9-23

yyyy-MM-dd

2012-09-23

d MMM yyyy

23 九月 201236

intra-mart Accel Platform — タイムゾーン仕様書 初版 2024-06-28
フォーマット名

日付（簡易表示）日付（入力）

時間（標準表示）

パターン

表示例

dd MMM yyyy

23 九月 2012

M’月’d’日’

9月23日

MM’月’dd’日’

09月23日

M/d

9/23

MM/dd

09/23

M-d

9-23

MM-dd

09-23

d MMM

23 九月

dd MMM

23 九月

yyyy/MM/dd

2012/09/23

yyyy/M/d

2012/9/23

yyyy-MM-dd

2012-09-23

yyyy-M-d

2012-9-23

ah:mm

上午12:00

ahh:mm

上午12:00

H:mm

0:00

HH:mm

00:00

時間（タイムスタンプ表示） ah:mm:ss

上午12:00:00

ahh:mm:ss

上午12:00:00

H:mm:ss

0:00:00

HH:mm:ss

00:00:00

HH:mm

00:00

H:m

0:0

時間（入力）

37