TalendDateルーチン - 7.1

Talend Real-time Big Data Platform Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Real-Time Big Data Platform
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

TalendDateルーチンでは、さまざまな種類の操作を実行し、日付式の形式について確認できます。

これらのルーチンにアクセスするには、[system]フォルダーの下の[TalendDate]をダブルクリックします。

ルーチン

説明

構文

addDate

n日、nか月、n時間、n分またはn秒をJavaの日付に追加し、新しい日付を返します。

日付形式は、yyyyMMddHHmmss、またはSSSです。

TalendDate.addDate("日付文字列イニシャル", "日付形式-サンプル: yyyy/MM/dd", integer n,"nを追加する日付の一部の形式-サンプル:yyyy")

compareDate

指定した形式に従って2つの日付の全ての部分を比較します。日付が同一の場合は0を、最初の日付が早い場合は-1を、2番目の日付が早い場合は1を返します。

TalendDate.compareDate(Date date1, Date date2, "比較する形式-例: yyyy-MM-dd")

diffDate

指定した比較パラメーターに従って、日、月、または年に関して2つの日付の差を返します。

TalendDate.diffDate(Date1(), Date2(), "比較する日付の一部の形式-例:yyyy")

diffDateFloor

指定した比較パラメーターに従って、年、月、日、時間、分、秒またはミリ秒に関して2つの日付の差を切捨てで返します。

TalendDate.diffDateFloor(Date1(), Date2(), "比較する日付の一部の形式-例:MM")

formatDate

指定した形式に対応する日付文字列を返します。

TalendDate.formatDate("日付形式-例: yyyy-MM-dd HH:mm:ss", 形式指定するDate()

formatDateLocale

対象の国で使用されている形式に従って、日付を日付/時間文字列に変更します。

TalendDate.formatDateLocale ("形式対象", java.util.Date date, "言語または国コード")

getCurrentDate

現在の日付を返します。入力パラメーターは必要ありません。

TalendDate.getCurrentDate()

getDate

指定された形式(オプション)で現在の日付と時間を返します。この文字列には、固定文字列または日付にリンクされた変数を含めることができます。デフォルトでは、文字列はDD/MM/CCYY形式で返されます。

TalendDate.getDate("文字列の形式-例: CCYY-MM-DD")

getFirstDayOfMonth

イベントの日付を現在の月の初日に変更し、新しい日付を返します。

TalendDate.getFirstDayMonth(Date)

getLastDayOfMonth

イベントの日付を現在の月の末日に変更し、新しい日付を返します。

TalendDate.getLastDayMonth(Date)

getPartOfDate

指定した形式に従って日付の一部を返します。この文字列には、固定文字列または日付にリンクされた変数を含めることができます。

TalendDate.getPartOfDate("取得する日付の一部を示す文字列", "解析する日付の形式の文字列")

getRandomDate

ISO形式でランダムな日付を返します。

TalendDate.getRandomDate("文字列の日付形式", String minDate, String maxDate)

isDate

日付文字列が指定した形式に対応しているかどうかを確認します。結果に従って、trueまたはfalseのBoolean値を返します。

TalendDate.isDate(Date() to be checked, "確認する日付の形式-例: yyyy-MM-dd HH:mm:ss")

parseDate

文字列を日付に変更します。標準形式で日付を返します。

TalendDate.parseDate("解析する文字列の日付形式", "解析する日付の形式の文字列")

parseDateInUTC

文字列をUTCの日付に変更します。UTC形式で日付を返します。

本番環境で実行しているビッグデータジョブでは、異なるタイムゾーンで設置されている複数のマシンが関わるため、日時解析の正しい出力を確実に行うために、常にこのルーチンを使用する必要があります。

TalendDate.parseDateInUTC("解析する文字列の日付形式", "解析する日付の形式の文字列", "解析を甘く設定するかどうかに関するブール値。甘い設定とは、ヒューリスティックな一致を形式と共に受け入れるということ")

parseDateLocale

指定した形式に従って文字列を解析し、日付を抽出します。指定したローカル形式に従って日付を返します。

TalendDate.parseDateLocale("解析する文字列の日付形式", "解析する日付の形式の文字列", "国または言語に対応するコード")

setDate

指定した日付の部分と値および指定した形式に従って日付の一部を変更します。

TalendDate.setDate(Date, whole n, "変更する日付の一部の形式-例:yyyy")

TO_CHAR

日付を文字列に変換します。

TalendDate.TO_CHAR(date[,format])

  • [date] (日付): 文字列に変換する日付の値。
  • [format] (形式): 戻り値の形式を定義する文字列。

TO_DATE

文字列を日付/時刻のデータ型に変換します。

TalendDate.TO_DATE(string[, format])

  • [string] (文字列): 日付/時刻のデータ型に変換する文字列。
  • [format] (形式): string引数の一部に一致する形式文字列。指定されていない場合は、stringの値をMM/dd/yyyy HH:mm:ss.SSSの日付形式にする必要があります。

たとえば、TalendDate.TO_DATE("04/24/2017 13:55:42.123")Mon Apr 24 13:55:42 CST 2017を返します。

ADD_TO_DATE

日時の値の一部に指定の数量を追加し、ユーザーが関数に渡す日付と同じ形式で日付を返します。

TalendDate.ADD_TO_DATE(date, format, amount)

  • [date] (日付): 変更する日付の値。
  • [format] (形式): 変更する日付の値の一部を指定する形式文字列。
    • 年に使用できる有効な形式文字列: YYYYYYYYYY
    • 月に使用できる有効な形式文字列: MONTHMMMON
    • 日に使用できる有効な形式文字列: DDDDDDDAYDY
    • 時に使用できる有効な形式文字列: HHHH12HH24
    • 分に使用できる有効な形式文字列: MI
    • 秒に使用できる有効な形式文字列: SS
    • ミリ秒に使用できる有効な形式文字列: MS
  • [amount] (数量): 日付の値の変更に使用する年、月、日、時などの数を指定する整数値。

例:

TalendDate.getCurrentDate()Mon Apr 24 14:26:03 CST 2017を返す場合、

TalendDate.ADD_TO_DATE(TalendDate.getCurrentDate(), "YY", 1)Tue Apr 24 14:26:03 CST 2018を返します。

警告:

日付形式の"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"を使用して下さい。これは暦年を表します。