9.29 CONVERTDATE_NUMERIC
注意: 9.1 組み込み関数の規則 &<a href="bifcat2_02.htm"&>利用オプション&</a&>
日付を数値形式に変換します。
引数
番号 |
タイプ |
必須/ 任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
N |
必須 |
変換する日付 |
4 |
8 |
0 |
0 |
2 |
A |
必須 |
変換前の日付形式 |
1 |
1 |
|
|
3 |
A |
必須 |
戻り値で必要な日付形式 |
1 |
1 |
|
|
有効な日付形式
- 変換前の日付形式として有効な値は、A、B、D、F、H、J、L、V、W、X、Y、Zおよび1です。
- 変換後に戻される日付形式として有効な値は、A、B、D、F、H、J、L、V、W、X、Y、Zおよび1です。
- 「&<a href="crfile6_valid_date_formats.htm"&>日付形式&</a&>」を参照してください。
戻り値
番号 |
タイプ |
必須/ 任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
N |
必須 |
戻される変換後の日付 |
4 |
8 |
0 |
0 |
2 |
A |
任意 |
変換が成功したかどうかを示す戻りコード (YまたはN) |
1 |
1 |
|
|
技術上の注記
すべての日付の年は4桁である必要があります。
これは、比較および計算を正確に実行するためです。ユーザーが入力した年が2文字(例:DDMMYY、YYMMDD、MMYY)の場合、システム定義データ・エリアから世紀の値が検索されます。指定された年をデータ・エリアの年と比較します。指定された年が比較年よりも小さいか等しい場合、前の世紀が使われます。指定された年が比較年よりも大きい場合、後の世紀が使われます。
最初の引数および戻り値の特質
最初の引数および最初の戻り値には、INTEGERフィールドおよびFLOATフィールドは使用できません。
DATEフィールドを直接使用することはできません。ただし、&<a href="https://docs.lansa.com/14/en/lansa016/prim_libi.idateintrinsics_asnumber.htm"&>.AsNumber&</a&> 組み込みファンクションを使用してNumberに変換中の場合は、DATEフィールドを間接的に使用することができます。
2番目の引数の値は、組み込み関数に指定する値の形式と同じにする必要があります。
例えば、DATEFL1という名前のDATEフィールドがあり、このフィールドを最初の引数として組み込み関数に使用する場合は、以下のような変換を行う必要があります。
DATEFL1.AsNumber(DDMMCCYY)
他の形式の組み込み関数を参照してください。
2番目の引数の値はHにする必要があります。これは、DDMMYYYYの日付形式を表しています。
最初の戻り値を保持するフィールドとしては、INTEGERおよびFLOATを含むすべてのNUMERICフィールドを使用することができます。.
翻訳
P、Q、R、S、T、Uの日付形式を使用すると、日付は、DC@M01のメッセージBIF0101およびBIF0102で指定された形式で返されます。英語以外の言語で日付が返されるようにする場合は、これらのメッセージが適切な言語に翻訳されるようにしてください。 LANGがENGまたはNAT以外の場合は、メッセージが、実行している言語のメッセージ・ファイルに存在していることを確認する必要があります。
RDMLX 専用の例:
CONVERTDATE_NUMERICでは、フィールド・タイプはDATEのみを使用してください。
USE BUILTIN(CONVERTDATE_NUMERIC) WITH_ARGS(#DATEFL1.AsNumber(DDMMCCYY) H J)TO_GET(#NUM80 )
より洗練されたプログラミング・スタイルにするには、以下のコードを使用する必要があります。
#NUM80 := #DATEFL1. AsNumber (CCYYMMDD) #NUM80 is a numeric signed 8 bytes long ,0 decimal .
例 RDML
日付形式がYYMMDD(Dタイプ)の日付フィールド#YMDを、日付形式がDDMMYY(Bタイプ)の日付フィールド#DMYに変換するには、次のように指定します。
USE BUILTIN(CONVERTDATE_NUMERIC) WITH_ARGS(#YMD D B) TO_GET(#DMY)