Menu
CoddyTech

שינוי אובייקטים מסוג DateTime

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

לאחר שיש לך אובייקט DateTime, לעיתים קרובות צריך לשנות אותו כדי שייצג רגע אחר בזמן. המתודה modify() מאפשרת לך להוסיף זמן לאובייקט DateTime או להפחית ממנו זמן באמצעות ביטויים בשפה טבעית, וכך חישובי תאריכים נעשים אינטואיטיביים וקריאים.

המתודה modify() מקבלת את אותם סוגי מחרוזות שעובדות עם strtotime(), כגון '+1 day', '-2 weeks' או 'next Friday'. בניגוד ליצירת אובייקט חדש בכל פעם, המתודה משנה ישירות את אובייקט DateTime הקיים, דבר יעיל לפעולות תאריך עוקבות.

<?php
$date = new DateTime();
echo $date->format('Y-m-d');  // התאריך של היום

$date->modify('+1 week');
echo $date->format('Y-m-d');  // בעוד שבוע מהיום

$date->modify('-3 days');
echo $date->format('Y-m-d');  // בעוד 4 ימים מהיום
?>

הגישה הזאת מעניקה לך גמישות רבה בחישובי תאריכים. אפשר לשרשר כמה שינויים או להשתמש בביטויים מורכבים כמו '+2 months -1 day' כדי לבצע חישובי תאריכים מתוחכמים, תוך שמירה על קוד ברור וקל לתחזוקה.

challenge icon

אתגר

קל

תקבלו שתי קלטים: מחרוזת תאריך בתבנית Y-m-d H:i:s ומחרוזת שינוי. הקלט הראשון הוא תאריך ושעה ספציפיים (לדוגמה: 2024-03-15 14:30:25), והקלט השני הוא ביטוי שינוי כגון +1 week,‏ -3 days או +2 months.

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

תבנית הקלט:

  • שורה ראשונה: מחרוזת תאריך בתבנית Y-m-d H:i:s (לדוגמה: 2024-03-15 14:30:25)
  • שורה שנייה: מחרוזת שינוי (לדוגמה: +1 week או -3 days או +2 months)

הפלט הצפוי: התאריך לאחר השינוי, בפורמט Y-m-d H:i:s

נסו בעצמכם

<?php
// קראו את מחרוזת התאריך
$dateString = trim(fgets(STDIN));

// קראו את מחרוזת השינוי
$modificationString = trim(fgets(STDIN));

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


// הציגו את התאריך לאחר השינוי
echo $modifiedDate;
?>
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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