Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada ia adalah masa hari dalam php (dua kaedah)

Bagaimana untuk menentukan sama ada ia adalah masa hari dalam php (dua kaedah)

PHPz
PHPzasal
2023-04-12 09:21:342138semak imbas

Dalam bahasa PHP, ia adalah operasi yang sangat biasa untuk menentukan sama ada masa adalah masa dalam sehari, kerana banyak aplikasi perlu memaparkan maklumat yang berbeza berdasarkan masa semasa. Terdapat beberapa cara untuk mencapai fungsi ini.

Kaedah 1: Gunakan fungsi tarikh untuk mendapatkan tarikh semasa dan tarikh yang akan ditentukan

Fungsi tarikh PHP boleh mendapatkan tarikh dan masa semasa dan memformatkan output dalam format yang ditentukan.

Sebagai contoh, kod berikut akan mengeluarkan tarikh dan masa semasa:

echo date('Y-m-d H:i:s');

'Y-m-d H:i:s' di sini bermaksud format tarikh keluaran ialah "tahun-bulan -hari-masa: Minit: saat".

Untuk menentukan sama ada tarikh ialah tarikh hari ini, kita boleh menyimpan tarikh semasa dalam format yang sama, dan kemudian membandingkan sama ada kedua-dua tarikh itu adalah sama. Kod pelaksanaan khusus adalah seperti berikut:

$today = date('Y-m-d');
$target_date = '2021-04-23';

if ($today == $target_date) {
   echo '是当天日期';
} else {
   echo '不是当天日期';
}

Di sini, mula-mula gunakan fungsi tarikh untuk mendapatkan tarikh semasa dan simpannya dalam pembolehubah $today, dan kemudian simpan tarikh yang akan ditentukan dalam $target_date pembolehubah. Seterusnya, gunakan pernyataan if untuk membandingkan kedua-dua tarikh tersebut. Jika ia adalah sama, keluaran "ialah tarikh hari ini", jika tidak, keluaran "bukan tarikh hari ini".

Kaedah 2: Gunakan fungsi strtotime untuk menukar tarikh kepada cap waktu sebagai perbandingan

Fungsi strtotime PHP boleh menukar tarikh kepada cap masa dan cap masa ialah integer, yang mewakili sejak 1970 Bilangan saat berlalu sejak 1 Januari, tahun.

Kod pelaksanaan khusus adalah seperti berikut:

$target_date = '2021-04-23';
$target_timestamp = strtotime($target_date);
$current_timestamp = time();

if ($target_timestamp >= strtotime('today') && $target_timestamp < strtotime('tomorrow')) {
   echo '是当天日期';
} else {
   echo '不是当天日期';
}

Di sini, tarikh yang akan ditentukan disimpan dahulu dalam pembolehubah $target_date, dan kemudian fungsi strtotime digunakan untuk menukarnya menjadi cap masa dan disimpan dalam $target_timestamp dalam pembolehubah. Seterusnya, gunakan fungsi masa untuk mendapatkan cap masa semasa dan simpannya dalam pembolehubah $current_timestamp.

Kemudian, gunakan pernyataan if untuk menentukan sama ada $target_timestamp lebih besar daripada atau sama dengan cap waktu permulaan hari itu (iaitu, cap waktu pada pukul sifar hari ini) dan kurang daripada cap waktu mula esok. Jika ya, ini bermakna $target_date ialah tarikh hari ini, dan output "adalah tarikh hari ini", jika tidak, output "bukan tarikh hari ini".

Nota: Cap masa "jam sifar hari ini" di sini boleh diperoleh menggunakan strtotime('today'), dan "timestamp of tomorrow" boleh diperoleh menggunakan strtotime('esok').

Ringkasan

Di atas adalah dua cara untuk menilai sama ada tarikh adalah tarikh hari ini Kaedah pertama mempunyai idea yang lebih mudah, tetapi jika julat masa yang perlu dibandingkan adalah tempoh masa tertentu , Bukan sahaja untuk hari semasa, pengiraan yang lebih kompleks perlu dilakukan bersama-sama dengan cap waktu. Kaedah kedua menggunakan fungsi strtotime PHP sendiri untuk menukar dan membandingkan cap masa, yang lebih mudah dan lebih pantas. Semua orang boleh memilih secara fleksibel mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada ia adalah masa hari dalam php (dua kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn