注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

文字列を日付に変換する

サポート対象: バッチ、ストリーミング

Java DateTimeFormatter に従ってフォーマットされた文字列から日付を返します。デフォルトのフォーマットは yyyy-MM-dd および yyyy-MM-dd'T'HH:mm:ss.SSSXXX です。フォーマットは順番に実行され、最初に一致するフォーマットが返されます。

式カテゴリ: キャスト、日時

引数

  • String - 日付に解析する文字列列。
    Expression<String>
  • 任意 Formats - 日付フォーマットを入力 (たとえば、yyyy-MM-dd または MM/dd/yyyy)。
    List<Literal<String>>

出力タイプ: Date

例 1: 基本ケース

説明: 日付フォーマットは任意 引数の値:

  • String: 2020-04-28
  • Formats: null

出力: 2020-04-28


例 2: 基本ケース

説明: 日付フォーマットは任意 引数の値:

  • String: 2020-04-28T01:00:00.000Z
  • Formats: null

出力: 2020-04-28


例 3: 基本ケース

説明: 日付は単一のフォーマットで解析されます。 引数の値:

  • String: 28-2020-04
  • Formats: [dd-yyyy-MM]

出力: 2020-04-28


例 4: 基本ケース

説明: 複数のフォーマットを使用して日付を解析します 引数の値:

  • String: 28-2020-04
  • Formats: [yyyy-MM-dd, dd-yyyy-MM]

出力: 2020-04-28


例 5: 基本ケース

説明: 日付が先行ゼロを欠いている場合でも、この "yyyy-M-d" フォーマットを使用して正しく解析されます。 引数の値:

  • String: date
  • Formats: [yyyy-M-d]
date出力
2020-04-082020-04-08
2020-4-82020-04-08
2020-10-102020-10-10

例 6: 基本ケース

説明: 文字列にはタイムスタンプを含めることができます 引数の値:

  • String: 28-2020-04 10:12:00 +01
  • Formats: [dd-yyyy-MM HH:mm X]

出力: 2020-04-28


例 7: 基本ケース

説明: タイムゾーンは日付を変更することがあります。 引数の値:

  • String: 28-2020-04 10:12:00 +11
  • Formats: [dd-yyyy-MM HH:mm X]

出力: 2020-04-27


例 8: Nullケース

説明: Null 列は null のままです 引数の値:

  • String: null
  • Formats: [dd-yyyy-MM]

出力: null


例 9: エッジケース

説明: 無効なデータは null に解析されます 引数の値:

  • String: 28-20201-14
  • Formats: [dd-yyyy-MM]

出力: null


例 10: エッジケース

説明: フォーマットが正しくない場合、すべてが null に解析されます 引数の値:

  • String: 04-2020-28
  • Formats: [dd-yyyy-MM]

出力: null


例 11: エッジケース

説明: 年の週に基づく日付はサポートされていません。 引数の値:

  • String: 2023
  • Formats: [yyyy]

出力: null