Saya mencoba mengonversi tanggal dari yyyy-mm-dd
menjadi dd-mm-yyyy
(tetapi tidak dalam SQL); namun saya tidak tahu bagaimana fungsi tanggal membutuhkan cap waktu, dan saya tidak bisa mendapatkan cap waktu dari string ini.
Bagaimana ini mungkin?
php
date
formatting
matthy
sumber
sumber
Jawaban:
Gunakan
strtotime()
dandate()
:(Lihat dokumentasi strtotime dan tanggal di situs PHP.)
Perhatikan bahwa ini adalah solusi cepat untuk pertanyaan awal. Untuk konversi yang lebih luas, Anda harus benar-benar menggunakan
DateTime
kelas untuk mem-parsing dan memformat :-)sumber
Jika Anda ingin menghindari konversi strtotime (misalnya, strtotime tidak dapat mem-parsing input Anda), Anda dapat menggunakan,
Atau, yang setara:
Anda pertama kali memberinya format $ dateString. Kemudian Anda mengatakan format yang Anda inginkan $ newDateString.
Atau jika sumber-format selalu "Ymd" (yyyy-mm-dd), maka cukup gunakan DateTime :
sumber
DateTime::createFromFormat()
- ini benar-benar lebih berguna daripadastrtotime()
strtotime()
berguna untuk mengubah format tipe benar (Ymd) ke format lain, tetapiDateTime::createFromFormat()
bersifat universal. Ini sepertiSTR_TO_DATE
di MySQLstrtotime()
Menggunakan:
Tanpa tanggal konversi overhead, saya tidak yakin itu akan berarti banyak.
sumber
Kode ini berfungsi untuk setiap format tanggal.
Anda dapat mengubah urutan variabel pengganti seperti $ 3- $ 1- $ 2 karena format tanggal lama Anda.
sumber
Untuk lebih lanjut, lihat dokumentasi untuk
strtotime
.Atau bahkan lebih pendek:
sumber
Juga kemungkinan lain yang tidak jelas:
Saya tidak tahu apakah saya akan menggunakannya tetapi masih :)
sumber
Jawaban yang paling banyak dipilih sebenarnya salah!Manual strtotime PHP di sini menyatakan bahwa "Fungsi ini diharapkan akan diberikan string yang berisi format tanggal bahasa Inggris".
Apa yang sebenarnya dimaksud adalah bahwa ia mengharapkan format tanggal Amerika AS, seperti "mdY" atau "m / d / Y".Itu berarti bahwa tanggal yang disediakan sebagai "Ymd" dapat disalahartikan oleh
strtotime
. Anda harus memberikan tanggal dalam format yang diharapkan.Saya menulis sedikit fungsi untuk mengembalikan tanggal dalam beberapa format. Gunakan dan modifikasi sesuka hati.
Jika ada yang mengubahnya menjadi kelas, saya akan senang jika itu akan dibagikan.sumber
Ada dua cara untuk mengimplementasikan ini:
1.
2.
sumber
Anda dapat mencoba
strftime()
fungsinya. Contoh sederhana:strftime($time, '%d %m %Y');
sumber
Gunakan fungsi ini untuk mengkonversi dari format apa saja ke format apa pun
sumber
Diberikan di bawah ini adalah kode PHP untuk menghasilkan tanggal besok menggunakan
mktime()
dan mengubah formatnya ke format dd / mm / yyyy dan kemudian mencetaknya menggunakanecho
.sumber
sumber
Anda dapat mengubah format menggunakan tanggal () dan strtotime ().
$ date = '9/18/2019';
tanggal gema ('dm-y', strtotime ($ date));
Hasil:
18-09-19
Kita dapat mengubah format dengan mengubah (dmy).
sumber
Untuk konversi khusus ini, kami juga dapat menggunakan string format.
Jelas ini tidak akan berfungsi untuk banyak konversi format tanggal lainnya, tetapi karena kami hanya mengatur ulang substring dalam kasus ini, ini adalah cara lain yang mungkin untuk melakukannya.
sumber
strtotime()
. :-)sumber
Cara sederhana Gunakan
strtotime()
dandate()
:Bersama waktu
sumber
Menggunakan
date_create
dandate_format
Coba ini.
sumber