Menu
Coddy logo textTech

מבוא לאובייקט DateTime

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

בעוד שפונקציות פרוצדורליות כמו date(), time() ו־strtotime() מתאימות היטב לפעולות בסיסיות עם תאריכים, PHP מציעה גישה חזקה וגמישה יותר באמצעות המחלקה DateTime. השיטה מונחית העצמים הזו מספקת ארגון טוב יותר, תחביר ברור יותר ופונקציונליות מתקדמת יותר לעבודה עם תאריכים ושעות.

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

<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s');  // מציג פלט כגון: 2024-03-15 14:30:25
?>

יצירת אובייקט DateTime חדש ללא פרמטרים מגדירה אותו אוטומטית לתאריך ולשעה הנוכחיים.

הגישה מונחית העצמים הופכת את הקוד שלך לקריא יותר וקל יותר לתחזוקה, במיוחד כשצריך לבצע כמה פעולות על אותו תאריך. הגישה הזאת תהיה שימושית במיוחד כשתעבוד עם חישובי תאריכים מורכבים יותר ועם דרישות עיצוב.

challenge icon

אתגר

קל

תקבלו קלט אחד: מחרוזת תאריך בפורמט Y-m-d H:i:s (לדוגמה: 2024-03-15 14:30:25).

קראו את מחרוזת התאריך שהתקבלה, צרו אובייקט DateTime באמצעות מחרוזת התאריך כפרמטר, והדפיסו ישירות את אובייקט ה־DateTime.

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

פורמט הקלט: שורה אחת המכילה מחרוזת תאריך בפורמט Y-m-d H:i:s (לדוגמה: 2024-03-15 14:30:25)

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

נסו בעצמכם

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

// TODO: צור אובייקט DateTime באמצעות מחרוזת התאריך והדפס אותו


?>
quiz iconבחנו את עצמכם

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

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

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