Υπάρχει ένας απλός τρόπος για να μετατρέψετε τη μορφή ημερομηνίας σε μια άλλη μορφή ημερομηνίας στην PHP?
Έχω αυτό το:
1 2 3 | $oldDate = date('y-m-d-h-i-s'); //Esto funciona $aux = strtotime($oldDate); //Esto devuelve false $newDate = date('Y-m-d H:i:s', $aux); //Devuelve 1970-01-01 00:00:00 |
Τι κάνω λάθος?
Η δεύτερη παράμετρος που να περάσει ημερομηνία() πρέπει να είναι μια κατάλληλη παράμετρο, δηλαδή, τα δευτερόλεπτα από την 1 τον Ιανουάριο του 1970. Η συμβολοσειρά που μπορείτε να το δώσετε δεν το αναγνωρίζει.
Χρησιμοποιεί strtotime()
για να μετατρέψετε μια συμβολοσειρά ημερομηνίας σε ένα χρονική σήμανση, Αν και δεν είναι ακόμη strtotime() θα αναγνωρίσει y-m-d-h-i-s
.
PHP 5.3 στο εξής
Χρήση DateTime::createFromFormat
. Σας επιτρέπει να καθορίσετε μια ακριβή μάσκα χρησιμοποιώντας τη σύνταξη της ημερομηνία() να αναλύσετε την εισερχόμενη ημερομηνία.
PHP 5.2 και την προηγούμενη
Έχετε να σαρώσετε στοιχεία (έτος, Μήνας, ημέρα, χρόνος, λεπτό, δεύτερη) χρήση substr() και να περάσει τα αποτελέσματα mktime () να οικοδομήσουμε μια χρονική σήμανση.
Πολλή δουλειά! Θα ήθελα να συστήσω χρησιμοποιώντας μια διαφορετική μορφή από ό, τι strtotime() όσα πρέπει να ξέρετε. Δοκιμάστε αυτό:
1 2 3 | $oldDate = date('l, F d y h:i:s'); // devuelve Sabado, Enero 30 10 02:06:34 $auxTS = strtotime($oldDate); $newDate = date('Y-m-d H:i:s', $auxTS); |
Παρακαλώ, συνδεθείτε ή Εγγράψου να κάνω μια ερώτηση