日付、
時間、
秒、
ミリ秒の値を格納します。
次の表に、このデータタイプの定義に使用するプロパティを示します:
ジェネレーター: .NET、
.NET Framework、
Java、
Apple、
Android
次の表に、DBMS に従って実行されるデータタイプの変換を示します:
| DBMS |
ネイティブのタイプ (秒精度) |
ネイティブのタイプ (ミリ秒精度) |
| Oracle |
Date |
TimeStamp |
| DB2 Universal Database |
Timestamp |
Timestamp |
| Informix |
DateTime |
DateTime(3) |
| SQL Server |
DateTime |
DateTime2 |
| DB2 UDB for iSeries |
Timestamp |
Timestamp |
| PostgreSQL |
Timestamp |
Timestamp |
| SAP HANA |
SecondDate |
TimeStamp |
| MySQL |
DateTime |
Datetime(3) |
DateTime データタイプには 2 つの
静的メソッドがあり、.NET、.NET Framework、および Java ジェネレーターでのみ利用できます。
特定の日時の値を持つ DateTime インスタンスを生成します。
DateTime.New(Year,Month,Day, [ Hour ] , [ Minute ] , [ Second ] , [ Millisecond ] )
&ExpirationDateTime = DateTime.New(2018,6,5,18,0,0,0)
If &ExpirationDateTime >= DateTime.New(2018,6,5,18,0,0,0)
msg("The date and time is not allowed")
EndIf
Now
現在のシステムの日時を取得します。
DateTime.Now()
&datetime = Datetime.Now()
&dateString = &datetime.ToString()
msg(&dateString) // 09/12/23 12:35 PM
Date と DateTime の等価性
代入
Date 項目属性と DateTime 項目属性間の代入は、次のルールに従います:
Date = DateTime //The receiving field loses the value corresponding to the time.
DateTime = Date //The receiving field’s time value is 12:00:00 AM (00:00:00 in 24-hour format).
比較 条件で Date フィールドと DateTime フィールドを比較することはできません。これら 2 つのデータタイプを比較するには、代入を使用して一方を他方に変換する必要があります。
たとえば、&DT が DateTime 変数で、&D が Date 変数の場合、次のいずれかのスキーマを使用して両者を比較できます。
Scheme 1: Create a temporary DateTime variable and compare
&DT1 = &D //Converts &D to DateTime and its value remains in &DT1
//The time part is 12:00.000 AM
if &DT > &DT1
…
endif
Scheme 2: Create a temporary Date variable and compare
&D1 = &DT //Converts &DT to Date and its value remains in &D1
//The time part is lost
if &D > &D1
…
endif
パラメーターの受け渡し Date データタイプと DateTime データタイプは等価ではありません。Date の値を受け取るプログラムは、DateTime の値を渡すプログラムで呼び出すことはできず、その逆も同様です。このルールに従わないと、分析時にエラーが発生します。
インデックスと検索 DateTime 項目属性を、単なる構成要素として、またはキーの一部として含むインデックスを作成することができます。これらのインデックスは昇順にも降順にもできます (DBMS で許可されている場合)。
検索に関しては、「同じ日付を持つ」値を直接検索することはできないことに注意してください。たとえば、次のようなコードを実装する必要があります:
// Code to search for a DateTime attribute value within a given date.
&dtFrom = ymdhmstot(1995, 10, 28, 0, 0, 0)
&dtTo = ymdhmstot( 1995,10, 29, 0, 0, 0) – 1 // Next day minus 1 second
For each
Where dtAttribute >= &dtFrom
Where dtAttribute <= &dtTo
…
EndFor
次の表に、再編成プロセス中に可能な項目属性のデータタイプの変更を示します。
| 元のデータタイプ |
変換後のデータタイプ |
| |
Char1 |
Numeric2 |
Date |
Datetime |
| Char1 |
N/A |
Yes4 (val を使用した場合) |
Yes (CtoD 関数を使用した場合) |
Yes (CtoT 関数を使用した場合) |
| Numeric2 |
Yes (Str 関数を使用した場合) |
N/A |
N/A |
N/A |
| Date |
Yes3 (DtoC 関数を使用した場合) |
N/A |
N/A |
Yes (時間は 12:00:00.00 AM になる) |
| DateTime |
Yes3 (TtoC 関数を既定値で使用した場合) |
No |
Yes(時間部分が失われる) |
N/A |
N/A- 適用されません。
Yes - 変換可能です。
No - 変換できません。値が失われます。
1 -
Character、
VarChar、および
LongVarChar タイプです。
2 - 任意の Numeric データタイプです。
3 - 受け取り側のサイズが足りない場合、項目属性の右側が切り捨てられることがあります。
4 - 受け取り側のサイズが足りない場合、項目属性の左側が切り捨てられることがあります。
iOS コードを生成するとき、Date / DateTime データタイプに基づくコントロールは、
[ Date format ] プロパティと
[ Hour format ] プロパティを使用して、デバイス設定内のユーザーの好みを考慮したネイティブスタイル
dateStyle と
timeStyle を推測します。
Date データタイプ データ タイプ リスト