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'da DateTimeFormatter, tarihleri ve saatleri farklı kalıplarda biçimlendirmenizi sağlar. LocalDate, LocalTime ve LocalDateTime ile kullanılabilir.

Belirli bir kalıp ile bir formatlayıcı oluşturun:

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

Formatter'ı 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 şu değeri 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 adında üç argüman alan bir metot oluşturun:

  1. \"yyyy-MM-dd\" formatında bir String (dateStr)
  2. Giriş tarihinin desenini belirten bir String (inputPattern)
  3. İstenen çıktı desenini belirten bir String (outputPattern)

Metot şunları yapmalıdır:

  1. Giriş desenini kullanarak giriş tarihini ayrıştırın
  2. Çıktı deseni kullanarak biçimlendirin
  3. Bu desenleri işleyin:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": Gerçek desen dizesi

Dönüş mesajları şunlar olmalıdır:

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

Kopya kağıdı

DateTimeFormatter, belirli kalıplarla tarih ve saatleri biçimlendirmenizi sağlar:

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);

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

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

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