Menu
Coddy logo textTech

LocalDate Temelleri

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

Java'da LocalDate, saat veya saat dilimi olmadan bir tarihi temsil eder. Doğum günleri, tatiller veya programlar gibi tarihlerle çalışmak için kullanılır.

Bugünün tarihini oluştur:

LocalDate today = LocalDate.now();

Belirli bir tarih oluşturun:

LocalDate date = LocalDate.of(2024, 3, 15);

Yukarıdaki kodu çalıştırdıktan sonra, date içerir: 2024-03-15

Tarihin farklı kısımlarını alın:

LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear();      // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth();   // 15

Bir dizeden tarih ayrıştırın:

LocalDate date = LocalDate.parse("2024-03-15");  // Format: "yyyy-MM-dd"

Önemli: Eğer dize formatı geçersizse, parse() bir DateTimeParseException fırlatır. Bunu ele almak için try-catch kullanın:

try {
    LocalDate date = LocalDate.parse("invalid-date");
} catch (DateTimeParseException e) {
    System.out.println("Invalid date format");
}

Gün ekle veya çıkar:

LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10);    // 2024-03-25
LocalDate past = date.minusDays(5);      // 2024-03-10

Yukarıdaki kodu çalıştırdıktan sonra:

  • future: 2024-03-25
  • past: 2024-03-10
challenge icon

Görev

Kolay

processDate adında üç argüman alan bir metot oluşturun:

  1. "yyyy-MM-dd" formatında bir String (dateStr)
  2. Eklenecek veya çıkarılacak bir tamsayı (days)
  3. "add" veya "subtract" olan bir String (operation)

Metot şunları yapmalı:

  1. Giriş tarih dizesini ayrıştır
  2. Belirtilen gün sayısını ekle veya çıkar
  3. Sonuç hakkında biçimlendirilmiş bilgi döndür

Dönen mesajlar şöyle olmalı:

  • Geçersiz tarih formatı ise: "Invalid date format" döndür
  • Geçersiz işlem ise: "Invalid operation" döndür
  • Başarılı durumda: "Original: [date], New: [new_date], Day of week: [day_name]" döndür

Kopya kağıdı

LocalDate, Java'da saat veya saat dilimi olmadan bir tarihi temsil eder.

Bugünün tarihini oluşturun:

LocalDate today = LocalDate.now();

Belirli bir tarih oluşturun:

LocalDate date = LocalDate.of(2024, 3, 15);

Tarihin farklı kısımlarını alın:

LocalDate date = LocalDate.of(2024, 3, 15);
int year = date.getYear();      // 2024
int month = date.getMonthValue(); // 3
int day = date.getDayOfMonth();   // 15
String dayOfWeek = date.getDayOfWeek().toString();  // "FRIDAY"

Bir String'den tarih ayrıştırın:

LocalDate date = LocalDate.parse("2024-03-15");  // Format: "yyyy-MM-dd"

Gün ekleyin veya çıkarın:

LocalDate date = LocalDate.of(2024, 3, 15);
LocalDate future = date.plusDays(10);    // 2024-03-25
LocalDate past = date.minusDays(5);      // 2024-03-10

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 processDate(String dateStr, int days, String operation) {
        // Buraya kodunuzu yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateStr = scanner.nextLine();
        int days = Integer.parseInt(scanner.nextLine());
        String operation = scanner.nextLine();
        
        System.out.println(processDate(dateStr, days, operation));
    }
}
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