שעה ותאריך ב-PHP

איטרבלים ב-PHP
מבוא ל-MySQL/PHP

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

  1. קבלת השעה והתאריך הנוכחיים:
  • אל האני time() הפונקציה מחזירה את חותמת הזמן הנוכחית, שהיא מספר השניות מאז 1 בינואר 1970.
  • אל האני date() ניתן להשתמש בפונקציה כדי לעצב את התאריך והשעה הנוכחיים לפי פורמט מוגדר.
  • אל האני getdate() הפונקציה מחזירה מערך אסוציאטיבי המכיל מידע על התאריך והשעה הנוכחיים.
  • אל האני microtime() הפונקציה מחזירה את חותמת הזמן הנוכחית עם מיקרו-שניות.
  1. מניפולציה של תאריכים:
  • אל האני strtotime() ניתן להשתמש בפונקציה כדי להמיר מחרוזת תאריך לחותמת זמן.
  • אל האני mktime() ניתן להשתמש בפונקציה ליצירת חותמת זמן עבור תאריך ושעה ספציפיים.
  • אל האני date_create() ו date_create_from_format() ניתן להשתמש בפונקציות ליצירת אובייקט תאריך חדש.
  • אל האני date_modify() ניתן להשתמש בפונקציה כדי לשנות אובייקט תאריך.
  1. עיצוב תאריכים לתצוגה:
  • אל האני date() ניתן להשתמש בפונקציה כדי לעצב חותמת זמן או אובייקט תאריך לפי פורמט מוגדר.
  • אל האני date_format() ניתן להשתמש בפונקציה כדי לעצב אובייקט תאריך לפי פורמט מוגדר.
  • אל האני strftime() ניתן להשתמש בפונקציה כדי לעצב חותמת זמן או אובייקט תאריך לפי פורמט ומקום מוגדרים.
  1. פונקציות אזור זמן:
  • אל האני date_default_timezone_set() ניתן להשתמש בפונקציה כדי להגדיר את אזור הזמן המוגדר כברירת מחדל.
  • אל האני date_default_timezone_get() ניתן להשתמש בפונקציה כדי לקבל את אזור הזמן המוגדר כברירת מחדל.
  • אל האני date_timezone_set() ניתן להשתמש בפונקציה כדי להגדיר את אזור הזמן עבור אובייקט תאריך.
  • אל האני date_timezone_get() ניתן להשתמש בפונקציה כדי לקבל את אזור הזמן עבור אובייקט תאריך.
  1. פונקציות לוח שנה:
  • אל האני cal_days_in_month() ניתן להשתמש בפונקציה כדי לקבל את מספר הימים בחודש עבור שנה ולוח שנה נתונים.
  • אל האני cal_from_jd() ניתן להשתמש בפונקציה כדי להמיר ספירת ימים יוליאנית לתאריך לוח שנה.
  • אל האני cal_info() ניתן להשתמש בפונקציה כדי לקבל מידע על לוח שנה.
  • אל האני easter_date() ו easter_days() ניתן להשתמש בפונקציות כדי לחשב את התאריך של חג הפסחא.

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

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

  1. קבלת השעה והתאריך הנוכחיים:
  • אל האני time() הפונקציה מחזירה את חותמת הזמן הנוכחית, שהיא מספר השניות מאז 1 בינואר 1970. חותמת הזמן היא פורמט בשימוש נרחב לאחסון והשוואה של תאריכים ושעות במערכות מחשב. זה שימושי למעקב אחר משך האירועים, השוואת תאריכים ושעות ויצירת מזהים ייחודיים.
$timestamp = time();
echo "Current timestamp: " . $timestamp . "<br>";

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

$current_date = date('Y-m-d H:i:s');
echo "Current date: " . $current_date . "<br>";

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

$date_array = getdate();
print_r($date_array);

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

$microtime = microtime();
echo "Current microtime: " . $microtime . "<br>";
  1. מניפולציה של תאריכים:
  • כדי להמיר מחרוזת תאריך לחותמת זמן, השתמש ב- זמן זמן() שיטה. כארגומנט, הפונקציה מקבלת מחרוזת במספר צורות, כגון 'אתמול', '+1 שבוע', 'יום שני הבא' וכן הלאה. ניתן להשתמש בשיטה זו כדי לשנות הזנת משתמש בחותמת זמן לעיבוד נוסף או השוואה.
$date_string = 'next Monday';
$timestamp = strtotime($date_string);
echo "Timestamp for " . $date_string . ": " . $timestamp . "<br>";

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

$year = 2022;
$month = 11;
$day = 23;
$hour = 12;
$minute = 30;
$second = 0;
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
echo "Timestamp for " . date('Y-m-d H:i:s', $timestamp) . ": " . $timestamp . "<br>";

אל האני date_create() ו date_create_from_format() ניתן להשתמש בפונקציות ליצירת אובייקט תאריך חדש.

תאריך ($time, $format)

פרמטרים

פוּרמָט  הגדר את הפורמט של חותמת הזמן בערך המוחזר. פונקציה זו מקבלת את כל הפורמטים המקובלים על ידי DateTimeInterface::format().
חותם זמןהגדר את חותם בערך המוחזר. כברירת מחדל, הוא מחזיר את התאריך והשעה הנוכחיים. במילים אחרות, ברירת המחדל היא הערך של הפונקציה time().  

כדי להגדיר את הפורמט, עליך להכיר את התווים המציינים את הפורמט התואם.

dמייצג את היום בחודש (01 עד 31)
mמייצג חודש (01 עד 12)
yמייצג שנה (בארבע ספרות)
l('L' באותיות קטנות) - מייצג את היום בשבוע

ב-PHP 8.0 חותמת הזמן ניתנת ל- null.

ערך החזרה

הַצלָחָההוא מחזיר מחרוזת בפורמט כפי שהוגדר על ידי פרמטר הפורמט.  
שגיאות/חריגיםאם אזור הזמן אינו חוקי פונקציית התאריך תחזיר E_WARNING.  

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

דוגמה

החזר את התאריך הנוכחי בפורמט שצוין.

<?php
echo " Date is " . date("Y/m/d") . " ";
echo " Date is " . date("Y.m.d") . " ";
echo " Date is " . date("Y-m-d") . " ";
echo " Date is " . date("l");
?>

כיצד להשתמש בפונקציית התאריך כדי לקבל את השעה הנוכחית ב-PHP

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

Hפורמט 24 שעות של שעה (00 עד 23)
hפורמט של 12 שעות של שעה עם אפסים מובילים (01 עד 12)
iדקות עם אפסים מובילים (00 עד 59)
sשניות עם אפסים מובילים (00 עד 59)
aאנטה מרידיאם באותיות קטנות ופוסט מרידיאם (בוקר או אחר הצהריים)
קבל את השעה הנוכחית בפורמט מסוים
<?php
echo "Curent time is " . date("H:i:s");
?>

האם פונקציית התאריך מחזירה את זמן הלקוח או את זמן השרת?

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

כיצד להגדיר את אזור הזמן של פונקציית התאריך ב-PHP?

אם אינך משיג את הזמן הנכון באמצעות הדוגמה הקודמת, ייתכן שהשרת שלך הוצב באחר מדינה ואזורי הזמן של המיקום הנוכחי ומיקום השרת שלך שונים. בתרחיש זה, תוכל להגדיר את אזור הזמן של נתונים פונקציה באמצעות אזור הזמן המוגדר כברירת מחדל לתאריך ("אסיה"); פוּנקצִיָה.

<?php
date_default_timezone_set("Asia");
echo "The server time in my zone is " . date("h:i:sa");
?>

מהי חותמת הזמן של UNIX?

חותמת הזמן של יוניקס היא מספר השניות בין 01 בינואר-1970 לזמן הנוכחי שצוין.

כיצד ליצור תאריך ב-php

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

mktime (שעה, דקה, שנייה, חודש, יום, שנה)

הפרמטרים של הפונקציה ברורים בשמותיהם. הנה דוגמה:

<?php
$date=mktime(7, 11, 34, 6, 09, 2021);
echo "My created date is " . date("Y-m-d h:i:s", $date);
?>

איך יוצרים תאריך ממחרוזת?

ל-PHP יש פונקציית תאריך שימושית מאוד שנקראת זמן זמן (). פונקציה זו ממירה מחרוזת תאריך קריא אנושית לחותמת זמן של יוניקס. אם אתה רוצה לדעת על זמן Unix, אתה יכול לקרוא אותו מהסעיף לעיל.

strtotime (זמן, עכשיו)

<?php
$date=strtotime("11:00am August 14 2021");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

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

דוגמה:

<?php
$date=strtotime("yesterday");
echo date("Y-m-d h:i:sa", $date);

$d=strtotime("next Friday");
echo date("Y-m-d h:i:sa", $date);

$d=strtotime("+4 Months");
echo date("Y-m-d h:i:sa", $date);
?>

איך לקבל את ההבדל בין שני תאריכים ב-php?

אל האני תאריך_דיף () שיטה מפחית שני תאריכים תקפים ומוציא את ההפרש בצורה של מספר ימים.

<?php
date_diff(datetime1, datetime2, absolute)
?>

הפרמטר הראשון והשני הם אובייקטי תאריך שיחסרו והפרמטר השלישי הוא בוליאני. כברירת מחדל, הוא מוגדר כ-false. אם הוא מוגדר כ-true, ההבדל יהיה חיובי.

דוגמה:

<?php
$today=date_create("2021-09-05");
$old_date=date_create("2021-08-12");
$difference=date_diff($today,$old_date);
?>

כיצד להוסיף ימים, חודשים, שנים או שעות, דקות ושניות לתאריך ב-PHP?

אם אתה מפתח PHP, ייתכן שהיה לך מצב שבו היית צריך להוסיף זמן או תאריך באובייקט תאריך אחר. בשביל זה PHP מספקת לנו את תאריך_הוסף פונקציה.

אובייקט תאריךמציין אובייקט DateTime המוחזר על ידי date_create()
הפסקהמציין אובייקט DateInterval
<?php
$date_to_be_added=date_create("2021-09-15");
date_add($date_to_be_added,date_interval_create_from_date_string("10 days"));
echo date_format($date,"Y-m-d");
?>

שאלות ותשובות

ש: מהי הפונקציה לקבל את התאריך והשעה הנוכחיים ב-PHP?
ת: הפונקציה לקבל את התאריך והשעה הנוכחיים ב-PHP היא "date()".

ש: כיצד אוכל לעצב את התאריך והשעה באמצעות הפונקציה "date()"?
ת: הפונקציה "date()" לוקחת פרמטר נדרש אחד, שהוא מחרוזת המכילה קודי פורמט. קודים אלה מייצגים חלקים שונים של התאריך והשעה, כגון השנה, החודש, היום, השעה, הדקה והשנייה. לדוגמה, כדי להציג את התאריך והשעה הנוכחיים בפורמט "Ymd H:i:s", תשתמש בקוד הבא: echo date("Ymd H:i:s");

ש: האם אני יכול להגדיר את אזור הזמן בעת ​​שימוש בפונקציה "date()"?
ת: כן, אתה יכול להגדיר את אזור הזמן בעת ​​שימוש בפונקציה "date()" באמצעות הפונקציה "date_default_timezone_set()". לדוגמה, כדי להגדיר את אזור הזמן ל-Pacific Standard Time, תשתמש בקוד הבא: date_default_timezone_set('America/Los_Angeles');

ש: האם יש דרך לחשב את ההפרש בין שני תאריכים ב-PHP?
ת: כן, אתה יכול להשתמש במחלקה "DateTime" כדי לחשב את ההפרש בין שני תאריכים. לדוגמה, כדי לחשב את ההפרש בין התאריך והשעה הנוכחיים לתאריך ושעה עתידיים, תשתמש בקוד הבא: $current_date = new DateTime(); $future_date = new DateTime('2022-12-31'); $diff = $current_date->diff($future_date); echo $diff->format('%R%a days');

ש: כיצד אוכל לקבל חותמת זמן של תאריך ושעה ספציפיים ב-PHP?
ת: אתה יכול להשתמש בפונקציה strtotime() כדי לקבל את חותמת הזמן של תאריך ושעה ספציפיים. לדוגמה, כדי לקבל את חותמת הזמן של התאריך '2022-12-31', תשתמש בקוד הבא: $date = '2022-12-31'; $timestamp = strtotime($date);

ש: כיצד אוכל להמיר חותמת זמן לפורמט תאריך ושעה ב-PHP?
ת: אתה יכול להשתמש בפונקציה date() כדי להמיר חותמת זמן לתבנית תאריך ושעה. לדוגמה, כדי להמיר חותמת זמן לפורמט 'Ymd H:i:s', תשתמש בקוד הבא: $timestamp = 1609459200; $date = date('Ymd H:i:s', $timestamp);

תרגילים:

  1. איך מקבלים את התאריך והשעה הנוכחיים?
  2. איך מעצבים תאריך ושעה?
  3. איך מחשבים את ההפרש בין שני תאריכים?
  4. איך ממירים חותמת זמן לתאריך ושעה?
  5. איך מקבלים את חותמת הזמן של תאריך ושעה ספציפיים?
  6. איך מקבלים את מספר הימים בחודש?
  7. איך בודקים אם שנה היא שנה מעוברת?
  8. איך מקבלים את אזור הזמן הנוכחי?

תשובות:

  1. ניתן לקבל את התאריך והשעה הנוכחיים באמצעות הפונקציה date() . לדוגמה: date("Ymd H:i:s");
  2. ניתן לעצב את התאריך והשעה באמצעות הפונקציה date() וציון פרמטר הפורמט. לדוגמה: date("mdY H:i:s", time());
  3. ניתן לחשב את ההבדל בין שני תאריכים באמצעות הפונקציה strtotime() והפחתת חותמות הזמן של שני התאריכים. לדוגמה: $diff = strtotime(“2022-01-01”) – strtotime(“2021-01-01”);
  4. ניתן להמיר חותמת זמן לתאריך ושעה באמצעות הפונקציה date() וציון חותמת הזמן כפרמטר השני. לדוגמה: date(“Ymd H:i:s”, 1609459200);
  5. ניתן לקבל חותמת זמן של תאריך ושעה ספציפיים באמצעות הפונקציה strtotime() . לדוגמה: strtotime("2022-01-01");
  6. ניתן לקבל את מספר הימים בחודש באמצעות הפונקציה cal_days_in_month() . לדוגמה: cal_days_in_month(CAL_GREGORIAN, 2, 2022);
  7. ניתן לבדוק שנה אם היא שנה מעוברת באמצעות הפונקציה date() וציון "L" כפרמטר הפורמט. לדוגמה: date(“L”, strtotime(“2022-01-01”));
  8. ניתן לקבל את אזור הזמן הנוכחי באמצעות הפונקציה date_default_timezone_get() .

לקריאה נוספת בנושא פונקציות זמן ותאריך בגרסת PHP 8 העדכנית ביותר, עיין ב- עמוד PHP 8 הרשמי.

כיצד אוכל לקבל את התאריך והשעה הנוכחיים ב- PHP?
לקבל את התאריך הנוכחי עם אזור זמן ב-PHP?
להמיר חותמת זמן לפני זמן ב-PHP?
המרת פורמט תאריך ב- PHP
כיצד אוכל להשתמש ב- PHP כדי לקבל את השנה הנוכחית?
קבע נכון אם מחרוזת התאריך היא תאריך חוקי בפורמט הזה
המרת חותמת זמן לתאריך / שעה קריא PHP
המרת מחרוזת ל- Date and DateTime

איטרבלים ב-PHP
מבוא ל-MySQL/PHP

הישאר מעודכן לגבי PHP!

אנחנו לא שולחים ספאם!

en English
X
גלול למעלה