Πώς να χρησιμοποιήσετε τη συνάρτηση date_sub() στην PHP

Pos Na Chresimopoiesete Te Synartese Date Sub Sten Php



ο date_sub() είναι συνάρτηση του Ημερομηνία ώρα τάξη, η οποία αποτελεί μέρος της επέκτασης ημερομηνίας και ώρας της PHP. Χρησιμοποιείται για την αφαίρεση ενός καθορισμένου διαστήματος από μια δεδομένη ημερομηνία. Μπορεί να χρησιμοποιηθεί για τον υπολογισμό μιας μελλοντικής ημερομηνίας αφαιρώντας μία ή περισσότερες ημέρες, μήνες ή χρόνια από την τρέχουσα ημερομηνία. ο date_sub() η συνάρτηση επιστρέφει μια νέα Ημερομηνία ώρα αντικείμενο που αντιπροσωπεύει την ημερομηνία και την ώρα μετά την πραγματοποίηση του υπολογισμού.

Βασική Σύνταξη

Η σύνταξη για χρήση date_sub() η λειτουργία δίνεται παρακάτω:

ημερομηνία_υπο ( Ημερομηνία ώρα $αντικείμενο , Διάστημα ημερομηνίας $διάστημα )

Εδώ, $αντικείμενο είναι το Ημερομηνία ώρα αντικείμενο από το οποίο θέλετε να αφαιρέσετε το διάστημα και $διάστημα είναι το Διάστημα ημερομηνίας αντικείμενο που καθορίζει το διάστημα που θέλετε να αφαιρέσετε. Σημειώστε ότι και τα δύο ορίσματα απαιτούνται για τη χρήση του date_sub() λειτουργούν σωστά.







Εργασία με DateInterval

Για να χρησιμοποιήσετε το date_sub() λειτουργία, πρέπει να δημιουργήσετε ένα Διάστημα ημερομηνίας αντικείμενο που καθορίζει το χρονικό διάστημα που θέλετε να αφαιρέσετε από την αρχική ημερομηνία-ώρα. Διάστημα ημερομηνίας αντικείμενα μπορούν να δημιουργηθούν χρησιμοποιώντας το Διάστημα ημερομηνίας κατασκευαστής. Ο κατασκευαστής παίρνει μια παράμετρο συμβολοσειράς που καθορίζει το διάστημα σε μορφή όπως P1D (μία ημέρα), P1M (ένας μήνας), P1Y (ένας χρόνος) και P1DT1H (μία ημέρα και μία ώρα).



Παραδείγματα

// Αφαίρεση μίας ημέρας
$διάστημα = νέος Διάστημα ημερομηνίας ( 'P1D' ) ; // Αφαίρεση ενός μήνα
$διάστημα = νέος Διάστημα ημερομηνίας ( 'P1M' ) ;

// Αφαίρεση ενός έτους
$διάστημα = νέος Διάστημα ημερομηνίας ( 'P1Y' ) ;

Πώς να χρησιμοποιήσετε τη συνάρτηση PHP date_sub().

Μόλις έχετε ένα Διάστημα ημερομηνίας αντικείμενο, μπορείτε να το συνδυάσετε με α Ημερομηνία ώρα αντίκειται στον υπολογισμό μιας νέας ημερομηνίας-ώρας. Ακολουθεί ένα παράδειγμα που αφαιρεί μία ημέρα από την τρέχουσα ημερομηνία:





$ημερομηνία ώρα = νέος Ημερομηνία ώρα ( ) ;

$διάστημα = νέος Διάστημα ημερομηνίας ( 'P1D' ) ;

ημερομηνία_υπο ( $ημερομηνία ώρα , $διάστημα ) ;

ηχώ $ημερομηνία ώρα -> μορφή ( 'Y-m-d H:i:s' ) ;

?>

Όπως μπορείτε να δείτε, η νέα ώρα ημερομηνίας είναι μία ημέρα νωρίτερα από την τρέχουσα ημερομηνία.





Είναι επίσης δυνατό να αφαιρέσετε ώρες, λεπτά και δευτερόλεπτα από ένα αντικείμενο DateTime χρησιμοποιώντας το date_sub() λειτουργία. Για να αφαιρέσετε ώρες, μπορείτε να περάσετε το διάστημα ημερομηνίας ως PT1H, που σημαίνει να αφαιρέσετε μία ώρα. Για παράδειγμα, λάβετε υπόψη τον ακόλουθο κώδικα:





$ημερομηνία ώρα = νέος Ημερομηνία ώρα ( '16-05-2023 14:43:00' ) ;

ημερομηνία_υπο ( $ημερομηνία ώρα , νέος Διάστημα ημερομηνίας ( 'PT1H' ) ) ;

ηχώ $ημερομηνία ώρα -> μορφή ( 'Y-m-d H:i:s' ) ;

?>

Αυτό αφαιρεί μία ώρα από το αντικείμενο DateTime και ενημερώνει το αντικείμενο με τη νέα τιμή. Μπορείτε να αποκτήσετε πρόσβαση στη νέα τιμή χρησιμοποιώντας το μορφή() συνάρτηση του αντικειμένου DateTime.

Παράδειγμα 1: Αφαίρεση διαφορετικών διαστημάτων

ο date_sub() Η λειτουργία επιτρέπει την αφαίρεση διαφόρων διαστημάτων, όχι μόνο ημερών. Ας εξετάσουμε ένα σενάριο όπου θέλουμε να αφαιρέσουμε 2 ώρες και 30 λεπτά από μια δεδομένη ημερομηνία και ώρα.



$ημερομηνία = νέος Ημερομηνία ώρα ( '2023-11-02 10:32:45' ) ;

$διάστημα = νέος Διάστημα ημερομηνίας ( 'PT1H15M' ) ;

ημερομηνία_υπο ( $ημερομηνία , $διάστημα ) ;

ηχώ $ημερομηνία -> μορφή ( 'Y-m-d H:i:s' ) ;

?>

Σε αυτό το παράδειγμα, δημιουργούμε ένα αντικείμενο DateTime που αντιπροσωπεύει την ημερομηνία και την ώρα “2023-11-02 10:32:45” . Δημιουργούμε επίσης ένα Διάστημα ημερομηνίας αντικείμενο που αντιπροσωπεύει μια περίοδο 1 ώρας και 15 λεπτών χρησιμοποιώντας τη μορφή 'PT1H15M'. Στη συνέχεια χρησιμοποιούμε το date_sub() λειτουργία για να αφαιρέσει το διάστημα από την ημερομηνία και την ώρα.

Παράδειγμα 2: Αφαίρεση πολλαπλών διαστημάτων

Μπορείτε επίσης να χρησιμοποιήσετε το date_sub() λειτουργία για αφαίρεση πολλαπλών διαστημάτων από ένα αντικείμενο DateTime. Η σύνταξη είναι απλή: απλώς δημιουργήστε ένα νέο αντικείμενο DateInterval για κάθε διάστημα που θέλετε να αφαιρέσετε και περάστε τα όλα στο date_sub() λειτουργεί ως πίνακας.



$διαστήματα = πίνακας (

νέος Διάστημα ημερομηνίας ( 'P1Y' ) ,

νέος Διάστημα ημερομηνίας ( 'P6M' ) ,

νέος Διάστημα ημερομηνίας ( 'P3D' )

) ;

$ημερομηνία ώρα = νέος Ημερομηνία ώρα ( ) ;

για κάθε ( $διαστήματα όπως και $διάστημα ) {

ημερομηνία_υπο ( $ημερομηνία ώρα , $διάστημα ) ;

}

ηχώ $ημερομηνία ώρα -> μορφή ( 'Y-m-d H:i:s' ) ;

?>

Σε αυτό το παράδειγμα, αφαιρέσαμε ένα έτος, έξι μήνες και τρεις ημέρες από την ημερομηνία.

Παράδειγμα 3: date_sub() με Ζώνες ώρας

Ένα πράγμα που πρέπει να προσέξετε όταν χρησιμοποιείτε το date_sub() λειτουργία είναι ότι μπορεί να επηρεάσει τη ζώνη ώρας σας Ημερομηνία ώρα αντικείμενο. Από προεπιλογή, Ημερομηνία ώρα αντικείμενα χρησιμοποιούν τη ζώνη ώρας του διακομιστή σας. Ωστόσο, εάν θέλετε να εργαστείτε με διαφορετική ζώνη ώρας, μπορείτε να τη ρυθμίσετε ρητά χρησιμοποιώντας το setTimezone() μέθοδος.



$ημερομηνία ώρα = νέος Ημερομηνία ώρα ( 'τώρα' , νέος DateTimeZone ( 'America/New_York' ) ) ;

$διάστημα = νέος Διάστημα ημερομηνίας ( 'P1D' ) ;

ημερομηνία_υπο ( $ημερομηνία ώρα , $διάστημα ) ;

ηχώ $ημερομηνία ώρα -> μορφή ( 'Y-m-d H:i:s' ) ;

?>

Σε αυτό το παράδειγμα, ορίσαμε τη ζώνη ώρας σε America/New_York και αφαιρέσαμε μία ημέρα από την ημερομηνία ημερομηνίας.

Όταν αφαιρείτε διαστήματα χρησιμοποιώντας το date_sub() λειτουργία, είναι σημαντικό να σημειωθεί ότι η ημερομηνία που προκύπτει προσαρμόζεται αυτόματα εάν καταστεί άκυρη.

συμπέρασμα

ο date_sub() Η λειτουργία στην PHP παρέχει έναν βολικό τρόπο αφαίρεσης διαστημάτων από αντικείμενα DateTime. Χρησιμοποιώντας αυτήν τη λειτουργία, οι προγραμματιστές μπορούν εύκολα να εκτελέσουν λειτουργίες όπως η αφαίρεση ημερών, ωρών, λεπτών ή πολύπλοκων διαστημάτων από μια δεδομένη ημερομηνία και ώρα. ο date_sub() Η λειτουργία προσφέρει ευελιξία και ακρίβεια στον χειρισμό των υπολογισμών ημερομηνιών, καθιστώντας την ένα πολύτιμο εργαλείο για την εργασία με ημερομηνίες και ώρες σε εφαρμογές PHP.