Menu
Coddy logo textTech

Period ve Duration

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

Period, tarih tabanlı bir zaman miktarını (yıllar, aylar, günler) temsil ederken, Duration zaman tabanlı bir miktarı (saatler, dakikalar, saniyeler) temsil eder.

Bir Dönem Oluşturun:

Period period = Period.of(1, 2, 15);
// 1 year, 2 months, 15 days

Bir Süre Oluştur:

Duration duration = Duration.ofHours(2);
// 2 hours
Duration minutes = Duration.ofMinutes(90);
// 90 minutes

Yukarıdaki kodu çalıştırdıktan sonra, period şu değeri içerir:

P1Y2M15D  // ISO-8601 format
challenge icon

Görev

Kolay

calculateDifference adında dört argüman alan bir metot oluşturun:

  1. "yyyy-MM-dd HH:mm" formatında bir String (start)
  2. "yyyy-MM-dd HH:mm" formatında bir String (end)
  3. "period" veya "duration" olan bir String (unit)
  4. "full" veya "simple" olan bir String (format)

Metot şunları yapmalıdır:

  1. başlangıç ve bitiş tarihleri arasındaki farkı hesaplayın
  2. belirtilen formatta farkı döndürün

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

  • Geçersiz tarihse: "Invalid date format" döndürün
  • Geçersiz birimse: "Invalid unit" döndürün
  • Geçersiz format ise: "Invalid format" döndürün
  • "full" formatlı period için: "Years: X, Months: Y, Days: Z"
  • "simple" formatlı period için: "XyYmZd"
  • "full" formatlı duration için: "Hours: X, Minutes: Y"
  • "simple" formatlı duration için: "XhYm"

Kopya kağıdı

Period, tarih tabanlı miktarları (yıllar, aylar, günler) temsil ederken, Duration zaman tabanlı miktarları (saatler, dakikalar, saniyeler) temsil eder.

Bir Period oluşturun:

Period period = Period.of(1, 2, 15);
// 1 yıl, 2 ay, 15 gün

Bir Duration oluşturun:

Duration duration = Duration.ofHours(2);
// 2 saat
Duration minutes = Duration.ofMinutes(90);
// 90 dakika

Period ISO-8601 formatını kullanır:

P1Y2M15D  // 1 yıl, 2 ay, 15 gün

Kendin dene

import java.util.Scanner;
import java.time.*;
import java.time.format.*;

public class Main {
    public static String calculateDifference(String start, String end, String unit, String format) {
        // Kodunuzu buraya yazın
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String start = scanner.nextLine();
        String end = scanner.nextLine();
        String unit = scanner.nextLine();
        String format = scanner.nextLine();
        
        System.out.println(calculateDifference(start, end, unit, format));
    }
}
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