Menu
CoddyTech

Ôn tập: Tính toán ngày

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 51 trên 68.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận ba đầu vào: ngày bắt đầu, ngày kết thúc và chuỗi định dạng. Hai đầu vào đầu tiên là chuỗi ngày theo định dạng Y-m-d (ví dụ: 2024-03-15), còn đầu vào thứ ba là biểu thức điều chỉnh như +5 days, -2 weeks hoặc +1 month.

Đọc cả ba đầu vào, tạo hai đối tượng DateTime từ ngày bắt đầu và ngày kết thúc, áp dụng biểu thức điều chỉnh cho ngày bắt đầu, rồi xác định ngày nào đến sau: ngày bắt đầu đã điều chỉnh hay ngày kết thúc ban đầu. In ra ngày đến sau theo định dạng Y-m-d.

Định dạng đầu vào:

  • Dòng đầu tiên: Chuỗi ngày bắt đầu theo định dạng Y-m-d (ví dụ: 2024-03-15)
  • Dòng thứ hai: Chuỗi ngày kết thúc theo định dạng Y-m-d (ví dụ: 2024-04-10)
  • Dòng thứ ba: Chuỗi điều chỉnh (ví dụ: +5 days hoặc -2 weeks)

Đầu ra mong đợi: Ngày đến sau giữa ngày bắt đầu đã điều chỉnh và ngày kết thúc ban đầu, được định dạng theo Y-m-d

Tự làm thử

<?php
// Đọc ba đầu vào
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));

// TODO: Viết code bên dưới
// Tạo các đối tượng DateTime từ ngày bắt đầu và ngày kết thúc
// Áp dụng thay đổi cho ngày bắt đầu
// So sánh ngày bắt đầu sau khi thay đổi với ngày kết thúc
// Xác định ngày nào muộn hơn

// Xuất ngày muộn hơn theo định dạng Y-m-d
echo $laterDate;
?>

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online