Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar tarikh kepada hari dalam php

Bagaimana untuk menukar tarikh kepada hari dalam php

DDD
DDDasal
2023-07-11 16:28:372003semak imbas

Cara menukar tarikh kepada bilangan hari dalam php: 1. fungsi strtotime(), gunakan fungsi ini untuk menukar tarikh kepada cap waktu UNIX, gunakan fungsi "floor()" untuk membahagikan dengan bilangan saat sehari untuk mendapatkan nombor daripada hari tarikh; 2. Kelas DateTime, cipta objek DateTime, gunakan kaedah "diff()" untuk membandingkan tarikh yang diberikan dengan tarikh semasa, dan kemudian gunakan kaedah "format()" untuk mendapatkan bilangan hari antara tarikh; 3. Tulis fungsi tersuai untuk menukar tarikh kepada Hari dan seterusnya.

Bagaimana untuk menukar tarikh kepada hari dalam php

Persekitaran pengendalian artikel ini: Sistem Windows 10, versi php8.1.3, komputer dell g3.

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dan banyak projek serta aplikasi menggunakan PHP untuk mengendalikan tarikh dan masa. Dalam sesetengah kes, kami mungkin perlu menukar tarikh kepada bilangan hari yang sepadan. Artikel ini akan memperkenalkan beberapa kaedah PHP biasa untuk membantu anda menukar tarikh kepada hari.

1. Gunakan fungsi strtotime():

strtotime() fungsi ialah salah satu fungsi yang biasa digunakan dalam PHP untuk mengendalikan tarikh dan masa. Ia menukar rentetan kepada cap waktu UNIX, bilangan saat sejak 1 Januari 1970. Berikut ialah contoh menukar tarikh kepada beberapa hari:

$date = "2022-10-31";
$timestamp = strtotime($date);
$days = floor($timestamp / (60 * 60 * 24));
echo "日期:".$date."<br>";
echo "天数:".$days;

Dalam contoh di atas, kami mula-mula menukar tarikh ("2022-10-31") kepada cap waktu UNIX menggunakan fungsi strtotime(). Kami kemudian menggunakan fungsi floor() untuk membahagikannya dengan bilangan saat sehari (60 * 60 * 24) untuk mendapatkan bilangan hari dalam tarikh tersebut.

2. Menggunakan kelas DateTime:

Kelas DateTime dalam PHP menyediakan kaedah berorientasikan objek untuk mengendalikan tarikh dan masa. Ia mempunyai banyak kaedah dan sifat berguna yang memudahkan kerja dengan tarikh dan masa. Berikut ialah contoh menukar tarikh kepada bilangan hari menggunakan kelas DateTime:

$date = "2022-10-31";
$datetime = new DateTime($date);
$now = new DateTime();
$interval = $datetime->diff($now);
$days = $interval->format(&#39;%a&#39;);
echo "日期:".$date."<br>";
echo "天数:".$days;

Dalam contoh di atas, kami mula-mula mencipta objek DateTime untuk mewakili tarikh yang diberikan. Kami kemudian menggunakan kaedah diff() untuk membandingkan tarikh yang diberikan dengan tarikh semasa, mengembalikan objek DateInterval. Seterusnya, kami menggunakan kaedah format() untuk mendapatkan bilangan hari antara tarikh.

3 Gunakan fungsi tersuai:

Selain menggunakan fungsi PHP terbina dalam dan kelas DateTime, kami juga boleh menulis fungsi tersuai untuk menukar tarikh kepada hari. Berikut ialah contoh fungsi tersuai:

function getDaysFromDate($date) {
$date_parts = explode("-", $date);
$year = $date_parts[0];
$month = $date_parts[1];
$day = $date_parts[2];
$days = 0;
for ($i = 1970; $i < $year; $i++) {
if ($i % 4 == 0 && ($i % 100 != 0 || $i % 400 == 0)) {
$days += 366;
} else {
$days += 365;
}
}
$days += date("z", mktime(0, 0, 0, $month, $day, $year)) + 1;
return $days;
}
$date = "2022-10-31";
$days = getDaysFromDate($date);
echo "日期:".$date."<br>";
echo "天数:".$days;

Dalam contoh di atas, kami mula-mula membahagikan rentetan tarikh kepada bahagian tahun, bulan dan hari melalui fungsi explode(). Kemudian, gunakan gelung untuk mengira jumlah hari sejak 1970. Akhir sekali, gunakan fungsi mktime() untuk mendapatkan bilangan hari dalam setahun untuk tarikh tertentu dan tambahkannya kepada jumlah hari yang dikira sebelumnya.

Di atas ialah beberapa kaedah PHP biasa yang boleh membantu anda menukar tarikh kepada hari. Pilih kaedah yang sesuai dengan keperluan projek anda, dan laraskan serta perbaiki mengikut keperluan.

Atas ialah kandungan terperinci Bagaimana untuk menukar tarikh kepada hari dalam php. 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