[TalendDate]ルーチンには、さまざまな種類の操作を実行し、日付式の形式について確認できるファンクションが複数含まれています。
yyyy-MM-dd
かyyyy-MM-dd HH:mm:ss
に設定されている場合を除き、これらのファンクションでは内部でSimpleDateFormatというJavaクラスが使用されています。この場合、パフォーマンス向上のため、入力された日付文字列の形式チェックは行われません。この2つのパターンのいずれかを使う場合は、入力された日付文字列が、設定されたパターンと正確に一致することを確認する必要があります。[Repository] (リポジトリー)ツリービューにあるシステムルーチンフォルダーの下の[TalendDate]ノードをダブルクリックすると、これらのファンクションにアクセスできます。
ファンクション |
説明 |
構文 |
---|---|---|
|
n日、nか月、n時間、n分またはn秒をJavaの日付に追加し、新しい日付を返します。 日付形式は:yyyy、MM、dd、HH、mm、ss、SSSです。 |
|
|
指定した形式に従って2つの日付のすべての部分を比較します。日付が同一の場合は
|
|
|
指定した比較パラメーターに従って、年、月、日、時間、分、秒またはミリ秒に関して2つの日付の差を返します。
|
たとえば、 |
|
指定した比較パラメーターに従って、年または月に関して2つの日付の差を返します。値は最も近い整数に切り捨てられます。
|
たとえば、 |
diffDateIgnoreDST |
指定した比較パラメーターに従って、DSTを無視して、日、月、または年に関して2つの日付間の差を返します。
|
TalendDate.diffDateIgnoreDST(Date1(), Date2(),[String dateType]) |
|
指定した形式に対応する日付文字列を返します。 |
|
|
特定のタイムゾーンで、日付を特定の形式(日時文字列)にフォーマットします。 |
|
|
UTCタイムゾーンで、日付を特定の形式(日時文字列)にフォーマットします。 |
|
|
対象の国で使用されている形式に従って、日付を日付/時間文字列に変更します。 |
|
|
(yyyy-MM-dd HH:mm:ss.SSSXXX)というローカルタイムゾーン形式(JDK7がサポート)であるMSSQL 2008タイプのdatetimeoffset ISO 8601文字列に日付をフォーマットします。 |
|
|
現在の日付を返します。入力パラメーターは必要ありません。 |
|
|
指定された形式(オプション)で現在の日付と時間を返します。この文字列には、固定文字列または日付にリンクされた変数を含めることができます。デフォルトでは、文字列は |
|
|
イベントの日付を現在の月の初日に変更し、新しい日付を返します。 |
|
|
イベントの日付を現在の月の末日に変更し、新しい日付を返します。 |
|
|
指定した形式に従って日付の一部を返します。この文字列には、固定文字列または日付にリンクされた変数を含めることができます。 |
|
|
ISO形式でランダムな日付を返します。 |
|
|
日付文字列が指定した形式に対応しているかどうかを確認します。結果に従って、trueまたはfalseのBoolean値を返します。 |
このpatternによって、チェックする日付の形式が指定されます。例: |
|
厳密なルールを使って、正しいパータンの日付として文字列値をテストします。この検証はJava 8タイムツールを使用します。タイムゾーンオフセットの範囲は-18:00から18:00までに制限されています。stringDateが正しいパターンの日付文字列であるかどうかを示すブール値を返します。 |
|
|
文字列を日付に変更します。指定された形式で日付を返します。 |
|
|
文字列をUTCの日付に変更します。UTC形式で日付を返します。 ⓘ 対象製品: Big Data Big Data Platform Cloud Big Data Cloud Big Data Platform Cloud Data Fabric Data Fabric Real-Time Big Data Platform 本番環境で実行しているビッグデータジョブでは、異なるタイムゾーンで設置されている複数のマシンが関わるため、日時解析の正しい出力を確実に行うために、常にこのルーチンを使用する必要があります。 |
|
|
指定した形式に従って文字列を解析し、日付を抽出します。指定したローカル形式に従って日付を返します。 |
|
|
指定した日付の部分と値および指定した形式に従って日付の一部を変更します。 |
|
|
日付を文字列に変換します。 |
|
|
文字列を日付/時刻のデータ型に変換します。 |
たとえば、 |
|
日時の値の一部に指定の数量を追加し、ユーザーがファンクションに渡す日付と同じ形式で日付を返します。 |
例:
|
日付形式の"yyyy"と"YYYY"は大半の場合、同じ年の数字を返しますが、"YYYY"が次の位置で使われると想定どおりに機能しないことがあります。
- 年の最初の週。年が週の最初の日で開始しない場合。
- 年の最後の週。年が週の最後の日で終了しない場合。
たとえば、2016年1月2日の3日前の日付がどうなるかを計算する場合、次のコードは間違った日付を返します。
System.out.println(TalendDate.formatDate("YYYY-MM-dd", TalendDate.addDate(TalendDate.TO_DATE("01/02/2016 08:10:30.123"), -3, "dd")));
他方、次のコードは想定どおりに機能します。
System.out.println(TalendDate.formatDate("yyyy-MM-dd", TalendDate.addDate(TalendDate.TO_DATE("01/02/2016 08:10:30.123"), -3, "dd")));
したがって、通常は"yyyy"を使用してください。これは暦年を表します。