日付時刻

最終更新日: 2021年11月4日
R8 | R9

日付時刻型

日付・時刻型で「日付」「時刻」「日付と時刻」の3種類から「日付時刻」を選択すると、日付時刻を扱う項目が用意されます。年月日と時刻を同時に扱うもので、年は1753年〜9999年の範囲で指定できます。

図1 日付時刻型

Javaとの関係

時刻型項目は、内部では java.sql.Timestamp クラスとして管理されます。

入力フィルタ

入力された値は「フィルタ」によって補正されます。詳細は"入力フィルタの仕様"をお読みください。

日付時刻型項目で選択できるフィルタは日付型と同じです。詳細は"日付型 > 入力フィルタ"をお読みください。

ユーザーインタフェース8.1.0

「入力制御 > 日付・時刻型 > 日付入力方式」に「カレンダの利用」を指定すると、図2のような入力欄が用意されます。

図2 日付時刻型項目の入力欄

日付部分はカレンダで入力できます。

図3 日付の入力

時刻部分はリストボックスで入力できます。

図4 時刻の入力

ワンポイント

時刻部分は15分刻みとなっていますが、直接 "7:18" などと選択肢以外の入力を行なうこともできます。

入力は日付と時刻それぞれ別れていますが、データベースへは「日付時刻型」として(一つのデータとして)登録されます。

図5 データを登録する

時刻部のフォーマット

「出力制御>詳細画面>日付・時刻」の「フォーマット(ユーザ定義)」で変更できます。

例えばこのフォーマットを "yyyy年MM月dd HH:mm" と設定すると、時刻部が時分のみの入力となります。

時刻の選択肢の15分刻みの変更

「入力制御>日付・時刻」の「時刻入力方式」の2番目の設定欄に "8-24:5" と設定することで、時刻の選択肢が8時から24時まで5分区切りで表示されるようになります。詳細は「時刻 > リストボックスの表示ルール」の説明をお読みください。

※ この設定を行なっても、選択肢の値のみで入力が制限されることはありません。選択肢にない時刻であっても手動で直接、入力できます。

テキストフィールドの利用

日付入力方式を空欄とした場合、テキストフィールドで直接、日付時刻を入力します。 テキストフィールドで入力する場合の入力方式は、「出力制御 > 日付・時刻 > フォーマット」に従います。例を示します。

図6 日付時刻入力方式のフォーマット設定

yyyy-MM-dd HH:mm:ss

  • 年を西暦4桁で入力します。
  • 月を 1 から 12 の範囲で入力します。
  • 日を 1 から 31 の範囲で入力します。
  • 時間は 0 から 23 まで、分と秒は 0 から 59 の範囲で入力できます。
  • 年、月、日それぞれ空白で区切って入力します。時間、分、秒をそれぞれ空白またはコロン (":") 文字で区切って入力します。(例 2014 1 2 3 4 5 なら2014年1月2日3時4分5秒となります)

このルールにそぐわない値を入力した場合は、日付時刻として認識されません。保存すると空白になります。

仕様・制約

  • R8.1.0 より日付部分と時刻部分の入力それぞれを GUI で操作できるようになりました。(R8.0.5 までは時刻部分はマウスで入力欄にカーソルをあわせ、手動で入力する方式です。)
  • 日付部分と時刻部分をテキストフィールド入力とすることはできません。ただし日付、時刻部分それぞれ、キーボードによる直接入力を行うことができます。
  • モデル項目詳細定義 > 出力制御 > 詳細画面 > 日付・時刻フォーマットに "yyyy-MM-dd" など日付部分のみを指定すると、時刻部分の入力欄が表示されなくなります。内部では "0:0:0" としてデータベースに登録されます。