Menu
Coddy logo textTech

סיכום: חישובי תאריכים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 51 מתוך 68.

challenge icon

אתגר

קל

תקבלו שלושה קלטים: תאריך התחלה, תאריך סיום ומחרוזת פורמט. שני הקלטים הראשונים הם מחרוזות תאריך בפורמט Y-m-d (לדוגמה: 2024-03-15), והקלט השלישי הוא ביטוי לשינוי, כגון +5 days, -2 weeks או +1 month.

קראו את כל שלושת הקלטים, צרו שני אובייקטים מסוג DateTime מתאריכי ההתחלה והסיום, החילו את ביטוי השינוי על תאריך ההתחלה, ואז קבעו איזה תאריך מאוחר יותר: תאריך ההתחלה לאחר השינוי או תאריך הסיום המקורי. הדפיסו את התאריך המאוחר יותר בפורמט Y-m-d.

פורמט הקלט:

  • שורה ראשונה: מחרוזת תאריך התחלה בפורמט Y-m-d (לדוגמה: 2024-03-15)
  • שורה שנייה: מחרוזת תאריך סיום בפורמט Y-m-d (לדוגמה: 2024-04-10)
  • שורה שלישית: מחרוזת שינוי (לדוגמה: +5 days או -2 weeks)

הפלט הצפוי: התאריך המאוחר יותר מבין תאריך ההתחלה לאחר השינוי ותאריך הסיום המקורי, בפורמט Y-m-d

נסו בעצמכם

<?php
// קראו את שלושת הקלטים
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));

// TODO: כתבו את הקוד שלכם למטה
// צרו אובייקטים מסוג DateTime מתאריכי ההתחלה והסיום
// החילו את השינוי על תאריך ההתחלה
// השוו את תאריך ההתחלה לאחר השינוי לתאריך הסיום
// קבעו איזה תאריך מאוחר יותר

// הדפיסו את התאריך המאוחר יותר בפורמט Y-m-d
echo $laterDate;
?>

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר PHP אונליין