0

DateTimeFormatter には、日付をフォーマットするための 2 つの実装があることがわかりました。

  1. パターン.フォーマット(日付)

  2. Date.format(パターン)

    public static void main(String[] args) {
         DateTimeFormatter pattern = DateTimeFormatter.ofPattern("MM/dd/yyyy");
         LocalDate date = LocalDate.now();
         String dateFormatText = date.format(pattern);
         String patternFormatText = pattern.format(date); 
         System.out.println(dateFormatText);
         System.out.println(patternFormatText);
    }
    
    

どちらの SysOut も同じ値を出力します。

Oracle ドキュメントの例では Date.format メソッドを使用していますが、Pattern.format メソッドを使用している多くの技術ブログを見ることができます。

違いは何か、どちらを使用するのが最適かを誰かに説明してもらえますか?

ソースコードデモ:こちら

4

2 に答える 2

1

違いは何ですか?

大きな違いはありません。

javadocLocalDateTime.format言う:

public String format(DateTimeFormatter formatter)

指定されたフォーマッタを使用して、この日付/時間をフォーマットします。

この日時は、文字列を生成するためにフォーマッタに渡されます。

つまり、 をLocalDateTime.format呼び出しますDateTimeFormatter.format


...そして、どれを使用するのが最適ですか?

どちらも「最高」ではありません。

どちらの形式があなたの意図をより明確に表現するかは、あなた次第です。あなたは言いたいですか:

  • " LocalDateTime: このフォーマッタで自分自身をフォーマットする"、または
  • " DateTimeFormatter: この一時的な値をフォーマットします".
于 2021-08-04T02:02:46.540 に答える