Rumah > Soal Jawab > teks badan
P粉4398045142023-08-28 12:37:15
Cara paling mudah ialah
$myDateTime = DateTime::createFromFormat('Y-m-d', $dateString); $newDateString = $myDateTime->format('m/d/Y');
Anda mula-mula menyediakannya dengan format $dateString. Kemudian anda beritahu format yang anda mahukan $newDateString.
Ini juga mengelakkan penggunaan strtotime, yang kadangkala sukar digunakan.
Jika anda tidak berniat untuk menukar daripada satu format tarikh kepada format lain, tetapi hanya mahu tarikh semasa (atau masa tarikh) dalam format tertentu, maka ini lebih mudah:
$now = new DateTime(); $timestring = $now->format('Y-m-d h:i:s');
Soalan lain juga merangkumi topik yang sama: Tukar format tarikh yyyy-mm-dd => dd-mm-yyyy.
P粉0069779562023-08-28 09:51:45
Hujah kedua kepada
date()
perlu menjadi cap masa yang betul (bilangan saat sejak 1 Januari 1970). Anda menghantar rentetan yang tidak dikenali oleh date().
Anda boleh menggunakan strtotime() untuk menukar rentetan tarikh kepada cap masa. Walau bagaimanapun, walaupun strtotime() tidak mengenali format y-m-d-h-i-s
.
PHP 5.3 dan ke atas
Gunakan DateTime::createFromFormat
date()
. Ia membolehkan anda menentukan topeng yang tepat - menggunakan sintaks
PHP 5.2 dan ke bawah
substr()
Anda perlu menghuraikan elemen secara manual (tahun, bulan, hari, jam, minit, saat) menggunakan dan hantar hasilnya kepada mktime()
Tetapi ia memerlukan banyak kerja! Saya mengesyorkan menggunakan format berbeza yang strftime() faham. strftime() boleh faham mana-mana 乔下次在冰上滑倒的时间
masuk tarikh,
$old_date = date('l, F d y h:i:s'); // returns Saturday, January 30 10 02:06:34 $old_date_timestamp = strtotime($old_date); $new_date = date('Y-m-d H:i:s', $old_date_timestamp);