Menu
Coddy logo textTech

Period i Duration

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 57 z 59.

Period reprezentuje oparty na dacie przedział czasu (lata, miesiące, dni), natomiast Duration reprezentuje oparty na czasie przedział (godziny, minuty, sekundy).

Utwórz okres:

Period period = Period.of(1, 2, 15);
// 1 rok, 2 miesiące, 15 dni

Utwórz czas trwania:

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

Po wykonaniu powyższego kodu period zawiera:

P1Y2M15D  // format ISO-8601
challenge icon

Wyzwanie

Łatwy

Utwórz metodę o nazwie calculateDifference, która przyjmuje cztery argumenty:

  1. String (start) w formacie "yyyy-MM-dd HH:mm"
  2. String (end) w formacie "yyyy-MM-dd HH:mm"
  3. String (unit) o wartości "period" lub "duration"
  4. String (format) o wartości "full" lub "simple"

Metoda powinna:

  1. Obliczyć różnicę między datami początkową i końcową
  2. Zwrócić różnicę w określonym formacie

Zwracane komunikaty powinny być następujące:

  • Jeśli daty są nieprawidłowe: zwróć "Invalid date format"
  • Jeśli jednostka jest nieprawidłowa: zwróć "Invalid unit"
  • Jeśli format jest nieprawidłowy: zwróć "Invalid format"
  • Dla okresu w formacie "full": "Years: X, Months: Y, Days: Z"
  • Dla okresu w formacie "simple": "XyYmZd"
  • Dla czasu trwania w formacie "full": "Hours: X, Minutes: Y"
  • Dla czasu trwania w formacie "simple": "XhYm"

Spróbuj swoich sił

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) {
        // Napisz tutaj swój kod
    }
    
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online