Menu
Coddy logo textTech

日付の書式設定

CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 58/59。

Java の DateTimeFormatter は、日付と時刻をさまざまなパターンでフォーマットできます。LocalDate、LocalTime、LocalDateTime と共に使用できます。

特定のフォーマットパターンでフォーマッターを作成します:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

フォーマッターを使用して日付をフォーマットします:

LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);

上記のコードを実行した後、formatted には次のものが含まれます:

2024-03-15

文字列を日付に解析:

String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);
challenge icon

チャレンジ

簡単

formatDate という名前のメソッドを作成し、3つの引数を受け取るようにしてください:

  1. フォーマット "yyyy-MM-dd" の String (dateStr)
  2. 入力日付のパターンである String (inputPattern)
  3. 希望する出力パターンである String (outputPattern)

このメソッドは以下を行うべきです:

  1. 入力パターンを使用して入力日付を解析する
  2. 出力パターンを使用してフォーマットする
  3. 以下のこれらのパターンを扱う:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": 実際のパターン文字列

戻り値のメッセージは以下であるべきです:

  • 日付が無効な場合: "Invalid date format" を返す
  • パターンが無効な場合: "Invalid pattern" を返す
  • 成功時: フォーマットされた日付を返す

チートシート

DateTimeFormatter を使用すると、特定の形式で日付と時刻をフォーマットできます:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

フォーマッターを使用して日付をフォーマットします:

LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);

文字列を日付に解析します:

String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);

自分で試してみよう

import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
        // ここにコードを記述してください
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateStr = scanner.nextLine();
        String inputPattern = scanner.nextLine();
        String outputPattern = scanner.nextLine();
        
        System.out.println(formatDate(dateStr, inputPattern, outputPattern));
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン