כיצד להשתמש בפונקציית date_sub() ב-PHP

Kyzd Lhstms Bpwnqzyyt Date Sub B Php



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

תחביר בסיסי

התחביר לשימוש date_sub() הפונקציה ניתנת להלן:

date_sub ( תאריך שעה $object , DateInterval $interval )

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







עבודה עם DateInterval

כדי להשתמש ב date_sub() פונקציה, עליך ליצור א DateInterval אובייקט שמציין את משך הזמן שברצונך להחסיר מהתאריך-שעה המקורי שלך. DateInterval ניתן ליצור אובייקטים באמצעות ה DateInterval בַּנַאִי. הבנאי לוקח פרמטר מחרוזת שמציין את המרווח בפורמט כמו P1D (יום אחד), P1M (חודש), P1Y (שנה) ו-P1DT1H (יום אחד ושעה).



דוגמאות

// הורידו יום אחד
$interval = חָדָשׁ DateInterval ( 'P1D' ) ; // הורידו חודש אחד
$interval = חָדָשׁ DateInterval ( 'P1M' ) ;

// הורידו שנה אחת
$interval = חָדָשׁ DateInterval ( 'P1Y' ) ;

כיצד להשתמש בפונקציית PHP date_sub()

ברגע שיש לך א DateInterval אובייקט, אתה יכול לשלב אותו עם א תאריך שעה אובייקט כדי לחשב תאריך-שעה חדש. הנה דוגמה שמפחיתה יום אחד מהתאריך הנוכחי:





$datetime = חָדָשׁ תאריך שעה ( ) ;

$interval = חָדָשׁ DateInterval ( 'P1D' ) ;

date_sub ( $datetime , $interval ) ;

הֵד $datetime -> פוּרמָט ( 'י-מ-ד H:i:s' ) ;

?>

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





אפשר גם להחסיר שעות, דקות ושניות מאובייקט DateTime באמצעות ה- date_sub() פוּנקצִיָה. כדי להחסיר שעות, אתה יכול להעביר את מרווח התאריכים בתור PT1H, כלומר להחסיר שעה אחת. לדוגמה, שקול את הקוד הבא:





$datetime = חָדָשׁ תאריך שעה ( '2023-05-16 14:43:00' ) ;

date_sub ( $datetime , חָדָשׁ DateInterval ( 'PT1H' ) ) ;

הֵד $datetime -> פוּרמָט ( 'י-מ-ד H:i:s' ) ;

?>

זה מוריד שעה אחת מהאובייקט DateTime ומעדכן את האובייקט בערך החדש. אתה יכול לגשת לערך החדש באמצעות ה- פוּרמָט() הפונקציה של האובייקט DateTime.

דוגמה 1: הפחתת מרווחים שונים

ה date_sub() הפונקציה מאפשרת לגרוע מרווחים שונים, לא רק ימים. הבה נשקול תרחיש שבו נרצה להחסיר שעתיים ו-30 דקות מתאריך ושעה נתונים.



$date = חָדָשׁ תאריך שעה ( '2023-11-02 10:32:45' ) ;

$interval = חָדָשׁ DateInterval ( 'PT1H15M' ) ;

date_sub ( $date , $interval ) ;

הֵד $date -> פוּרמָט ( 'י-מ-ד H:i:s' ) ;

?>

בדוגמה זו, אנו יוצרים אובייקט DateTime המייצג את התאריך והשעה '2023-11-02 10:32:45' . אנחנו גם יוצרים א DateInterval אובייקט המייצג פרק זמן של שעה ו-15 דקות בפורמט 'PT1H15M'. לאחר מכן אנו משתמשים ב- date_sub() פונקציה להפחתת המרווח מהתאריך והשעה.

דוגמה 2: הפחתת מרווחים מרובים

אתה יכול גם להשתמש ב date_sub() פונקציה להפחתת מרווחים מרובים מאובייקט DateTime. התחביר פשוט: פשוט צור אובייקט DateInterval חדש עבור כל מרווח שאתה רוצה להחסיר, והעביר את כולם ל- date_sub() לתפקד כמערך.



$intervals = מַעֲרָך (

חָדָשׁ DateInterval ( 'P1Y' ) ,

חָדָשׁ DateInterval ( 'P6M' ) ,

חָדָשׁ DateInterval ( 'P3D' )

) ;

$datetime = חָדָשׁ תאריך שעה ( ) ;

לכל אחד ( $intervals כפי ש $interval ) {

date_sub ( $datetime , $interval ) ;

}

הֵד $datetime -> פוּרמָט ( 'י-מ-ד H:i:s' ) ;

?>

בדוגמה זו, הורדנו שנה, שישה חודשים ושלושה ימים מהתאריך.

דוגמה 3: date_sub() עם אזורי זמן

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



$datetime = חָדָשׁ תאריך שעה ( 'עַכשָׁיו' , חָדָשׁ DateTimeZone ( 'אמריקה/ניו_יורק' ) ) ;

$interval = חָדָשׁ DateInterval ( 'P1D' ) ;

date_sub ( $datetime , $interval ) ;

הֵד $datetime -> פוּרמָט ( 'י-מ-ד H:i:s' ) ;

?>

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

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

סיכום

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