どの GeneXus エクスプレッション (ルール、条件、プロシージャー、式など) でも、ANSI/ISO (AAAA-MM-DD HH:MM:SS) 形式の日付定数と日時定数を使用できます。
<date>::= [ 0-9 ] {1,4}"/" [ 0-9 ] {1,2}"/" [ 0-9 ] {1,2} | [ 0-9 ] {1,4}"." [ 0-9 ] {1,2}"." [ 0-9 ] {1,2} | [ 0-9 ] {1,4}"-" [ 0-9 ] {1,2}"-" [ 0-9 ] {1,2}
<hms>::= [ 0-9 ] {1,2} [ ap ] | [ 0-9 ] {1,2}":" [ 0-9 ] {1,2} [ ap ] ? | [ 0-9 ] {1,2}":" [ 0-9 ] {1,2}":" [ 0-9 ] {1,2} [ ap ] ?
<constant> ::= "#"<date>"#" | "#"<date> <hms>"#" | "#"<hms>"#"
このタイプの定数は、ルール、イベント、およびプロパティで使用できるほか、パーサーを必要とする任意のコードエディションでも使用できます。
例:
&InitialDate=#2007-01-01#
&InitialDateTime=#07-1-1 11:15a#
&InitialTime=#11a#
定数を使用すると、変数や項目属性を簡単に初期化できます。また、以前のバージョンと同様、定数は必要に応じて CTOD や TTOC などの文字変換関数の代わりに使用することができます。
注:
- 定数に世紀が含まれない場合は (例: 07-01-01)、[ First Year of 20th Century ] プロパティが適用されます。
- 日付または日時の項目属性や変数を「空の値」に初期化するには、#0001-01-01# のような定数を割り当てずに、NullValue 関数 (&InitialDate=NullValue(&InitialDate)) や SetEmpty メソッドを使用することをお勧めします。これは、#0001-01-01# が、すべての DBMS でサポートされていないためです。たとえば、MS SQL Server はこの値をサポートしていません。日付値としてサポートされている一番古い日付は #1753-01-01# です (詳細については、「DBMS とデータタイプ別の空の項目属性値一覧」を参照してください)。
- 日時の時刻の部分は、12 時間制または 24 時間制で表すことができます。これらの値の範囲については、「12 時間制」を参照してください。