Περισσότερα
Μετατροπή συμβολοσειράς σε Date και DateTime
Αν έχω ένα αλφαριθμητικό PHP με τη μορφή mm-dd-YYYY
(για παράδειγμα, 10-16-2003), πώς μπορώ να το μετατρέψω σωστά σε Date
και στη συνέχεια σε DateTime
με τη μορφή YYYY-mm-dd
; Ο μόνος λόγος που ρωτάω για την Ημερομηνία
και την Ημερομηνία-Χρόνο
είναι επειδή χρειάζομαι το ένα σε ένα σημείο και το άλλο σε ένα άλλο σημείο.
271
3
Χρησιμοποιήστε την
strtotime()
για την πρώτη ημερομηνία και στη συνέχεια τηνdate('Y-m-d')
για να την μετατρέψετε πίσω:Σημειώστε ότι υπάρχει διαφορά μεταξύ της χρήσης της κάθετης φοράς
/
και της παύλας-
στη συνάρτησηstrtotime()
. Για να παραθέσω ένα απόσπασμα από το php.net:Πρέπει να είστε προσεκτικοί με τις μορφές m/d/Y και m-d-Y. Η PHP θεωρεί ότι το
/
σημαίνει m/d/Y και το-
σημαίνει d-m-Y. Θα περιέγραφα ρητά τη μορφή εισόδου σε αυτή την περίπτωση:Με αυτόν τον τρόπο δεν είστε έρμαιο των διαθέσεων μιας συγκεκριμένης ερμηνείας.
Επεξεργασία: μπορείτε επίσης να περάσετε μια DateTimeZone στον κατασκευαστή DateTime() για να εξασφαλίσετε τη δημιουργία της ημερομηνίας για την επιθυμητή ζώνη ώρας, όχι την προεπιλεγμένη του διακομιστή.