PHP: Tukar format tarikh
P粉769413355
P粉769413355 2023-08-27 13:34:57
0
2
539
<p>Adakah terdapat cara mudah untuk menukar satu format tarikh kepada format tarikh lain dalam PHP? </p> <p>Saya ada ini:</p> <pre class="brush:php;toolbar:false;">$old_date = date('y-m-d-h-i-s'); $middle = strtotime($old_date); // mengembalikan bool(false) $new_date = date('Y-m-d H:i:s', $middle); // kembali 1970-01-01 00:00:00</pra> <p>Tetapi sudah tentu saya mahu ia mengembalikan tarikh semasa dan bukan masa hari itu. Apa yang saya buat salah? </p>
P粉769413355
P粉769413355

membalas semua(2)
P粉439804514

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粉006977956

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::createFromFormatDateTime::createFromFormat。它允许您使用 date(). Ia membolehkan anda menentukan topeng yang tepat - menggunakan sintaks

- untuk menghuraikan tarikh rentetan masuk.

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()

yang akan membina cap masa untuk anda.

Tetapi ia memerlukan banyak kerja! Saya mengesyorkan menggunakan format berbeza yang strftime() faham. strftime() boleh faham mana-mana 乔下次在冰上滑倒的时间masuk tarikh,

. Sebagai contoh, ini berfungsi: 🎜
$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);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan