Menu
Coddy logo textTech

Tarih Biçimlendirme

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 58 / 59.

Java'daki DateTimeFormatter, tarihleri ve saatleri farklı kalıplara göre biçimlendirmenizi sağlar. LocalDate, LocalTime ve LocalDateTime ile kullanılabilir.

Belirli bir kalıpla bir biçimlendirici oluşturun:

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

Biçimlendiriciyi kullanarak bir tarihi biçimlendirin:

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

Yukarıdaki kodu çalıştırdıktan sonra formatted şunları içerir:

2024-03-15

Bir dizeyi tarihe ayrıştırın:

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

Görev

Kolay

formatDate adlı ve üç bağımsız değişken alan bir metot oluşturun:

  1. "yyyy-MM-dd" biçiminde bir String (dateStr)
  2. Girdi tarihinin deseni olan bir String (inputPattern)
  3. İstenen çıktı deseni olan bir String (outputPattern)

Metot şunları yapmalıdır:

  1. Girdi tarihini girdi desenini kullanarak ayrıştırmak
  2. Çıktı desenini kullanarak biçimlendirmek
  3. Şu desenleri işlemek:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": Gerçek desen dizesi

Döndürülecek mesajlar şunlar olmalıdır:

  • Geçersiz tarih durumunda: "Invalid date format" döndür
  • Geçersiz desen durumunda: "Invalid pattern" döndür
  • Başarılı durumda: Biçimlendirilmiş tarihi döndür

Kendin dene

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) {
        // Kodunuzu buraya yazın
    }
    
    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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi