Menu
CoddyTech

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ı biçimlerde biçimlendirmenizi sağlar. LocalDate, LocalTime ve LocalDateTime ile kullanılabilir.

Belirli bir desenle biçimlendirici oluşturun:

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

Bir tarihi biçimlendirici kullanarak biçimlendirin:

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

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

2024-03-15

Bir dizeyi tarihe dönüştürün:

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

Her iki adım da başarısız olabilir. DateTimeFormatter.ofPattern(), örneğin ofPattern("invalid") gibi desenin kendisi geçersiz olduğunda IllegalArgumentException fırlatır; çünkü i bir desen harfi değildir. LocalDate.parse(), metin desenle eşleşmediğinde veya gerçek bir tarih olmadığında (örneğin "2024-13-45") DateTimeParseException fırlatır. IllegalArgumentException, java.lang içindedir; bu nedenle import gerektirmez:

try {
    DateTimeFormatter f = DateTimeFormatter.ofPattern(pattern);
    LocalDate d = LocalDate.parse(text, f);
} catch (DateTimeParseException e) {
    // metin, desenle eşleşmiyor
} catch (IllegalArgumentException e) {
    // desen geçersiz
}
challenge icon

Görev

Kolay

formatDate adlı, üç argüman alan bir metot oluştur:

  1. Bir String (dateStr): giriş deseninde yazılmış tarih
  2. Bir String (inputPattern): giriş tarihinin deseni
  3. Bir String (outputPattern): istenen çıktı deseni

Metot şunları yapmalıdır:

  1. Giriş tarihini giriş desenini kullanarak ayrıştırmak
  2. Tarihi çıktı desenini kullanarak biçimlendirmek
  3. Şu desenleri ele almak:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": Gerçek desen dizgesi

Döndürülecek mesajlar:

  • Tarih geçersizse: "Invalid date format" döndür
  • Desen geçersizse: "Invalid pattern" döndür
  • Başarılı olursa: 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