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

7.1. 機能独自の仕様

本章では、「仕様」に記載されていない、機能独自の仕様について説明します。

7.1.1. テナント管理

7.1.1.1. アナウンス設定の「表示開始日時」「表示終了日時」はテナントタイムゾーンを基準とします。

「表示開始日時」「表示終了日時」を入力することで、アナウンスを表示する時間帯を設定できます。
アナウンスはサーバメンテナンス等の全体周知を想定した機能です。そのため、各ユーザのタイムゾーンで挙動が変わらないよう「表示開始日時」「表示終了日時」はテナントタイムゾーンを基準としています。
../../../_images/im-tenant1.png
設定については以下を参照してください。

7.1.1.2. データベース操作の結果の日付、日時項目にはシステムタイムゾーンが適用され、 ISO 8601 形式で表示されます。

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

7.1.1.3. パスワードリマインダメールに記載される期限はテンプレートの表示形式が適用されます。

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

7.1.2. ViewCreator

7.1.2.1. クエリ編集画面のプレビューではシステムタイムゾーンで値が表示されます。

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

7.1.2.2. ViewCreator で扱う日付フォーマットの入力値は個人設定の次に viewcreator-config.xml の設定が上から順に適用されます。

ViewCreator では、日付フォーマットの入力値の設定を viewcreator-config.xml に定義しています。
そのため、日付フォーマットの入力値が、ユーザごとの個人設定で取り扱えなかった場合は、その次に viewcreator-config.xml の設定が上から順に適用されます。
ViewCreator の日付フォーマットの設定については、以下を参照ください。

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

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

7.1.2.4. ロジックフローを利用した場合に IM-LogicDesigner から渡される日付系のデータはすべてViewCreator側ではタイムスタンプ型としてマッピングされます。

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

7.1.2.5. ルーティングで返却される日付型・タイムスタンプ型のデータはISO 8601形式が適用されます。

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

7.1.3. TableMaintenance

7.1.3.1. TableMaintenance の各機能ではシステムタイムゾーンを基準とします。

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

7.1.3.2. TableMaintenance で扱うタイムスタンプ型は tablemaintenance-config.xml の設定が優先的に適用されます。

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

7.1.4. IM-BPM for Accel Platform

7.1.4.1. タイマイベントで周期や期間を利用する際に夏時間を意識できます。

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

コラム

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

7.1.4.2. 一部機能においては日時の入力はISO 8601フォーマットで行います。

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

../../../_images/im_bpm3.png

コラム

ISO 8601拡張形式
yyyy-MM-dd'T'hh:mm:ss'Z' のように日付を表現する国際規格です。

表記例
2016-12-01T12:34:56Z (末尾に Z を記述した場合、協定世界時(UTC)として扱われます)
2016-12-01T12:34:56+09:00 (時差はプラス記号またはマイナス記号を用いて表現します)

7.1.5. IM-BloomMaker for Accel Platform

7.1.5.1. ISO形式で日付のみの入力を受け取った場合、かつ、ユーザのタイムゾーンの時差がマイナスの場合、日付を1日進めて扱います。

日付のみの入力を受け取り、かつユーザのタイムゾーンの UTC からの時差がマイナスの場合、日付を1日進めて扱います。

例: ユーザのタイムゾーンとして「(GMT-11:00)アメリカ領サモア / パゴパゴ」が選択されている場合

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

7.1.5.2. 日付入力エレメント、時刻入力エレメントの書式は、ユーザの表示形式・入力形式が適用されません。

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

7.1.6. IM-LogicDesigner

7.1.6.1. デバッグ機能の日時に関する型の変数情報は ISO 8601 形式で表示されます。

デバッグ機能の日時に関する型の変数情報は、オフセット情報を確認可能とするため常に ISO 8601 形式(yyyy-MM-dd’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
デバッグ機能については以下を参照してください。

7.1.6.2. デバッグログ一覧の実行日時は yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。

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

7.1.7. IM-Repository

7.1.7.1. エンティティ操作ログ一覧の実行日時は yyyy-MM-dd hh:MM:ss.SSS 形式で表示されます。

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