Dalam artikel sebelumnya "Cara mengira jumlah hari untuk tahun, bulan dan hari tertentu melalui PHP", kami memperkenalkan kaedah untuk mengira jumlah hari untuk tahun tertentu, bulan dan hari. Kali ini kami akan memudahkan kaedah dan menunjukkan kepada anda cara mengira jumlah hari dengan bantuan fungsi strtotime().
Topik artikel ini ialah: diberi tahun, bulan dan hari, kira jumlah bilangan hari sehingga hari ini.
Bagaimana untuk mengira ini? Jika anda tidak mempunyai apa-apa idea, mari kita ubah arah dan mudahkan ia bukan untuk mencari bilangan hari antara 1 Januari, tahun x - hari x, bulan x, tahun x, iaitu untuk mencari. perbezaan masa antara dua tarikh. Jadi bagaimana untuk mencari perbezaan masa?
Kita perlu terlebih dahulu menukar dua tarikh: 1 Januari, x tahun dan x bulan x hari, x tahun menjadi cap masa
$startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}");
Kemudian tolak dua cap waktu (Masa tamat - masa mula )
$diff_seconds = $enddate-$startdate;
Ini akan mendapat perbezaan masa antara dua tarikh, tetapi pada masa ini ia masih dikira dalam saat, yang tidak kondusif untuk membaca.
Oleh kerana terdapat 24 jam dalam sehari, 60 minit dalam satu jam dan 60 saat dalam satu minit, tukarkan 24*60*60=86400
, jadi terdapat 86,400 saat dalam sehari.
Bahagikan perbezaan masa $diff_seconds dengan 86400 dan gunakan floor() untuk membundarkan ke bawah kepada integer terdekat
$time = floor(($diff_seconds)/86400);
Apa yang anda perolehi pada masa ini ialah perbezaan hari, tidak termasuk x bulan Pada hari tersebut
Mari kita lihat kod lengkap:
function GetDays($year,$month,$day){ $startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}"); $diff_seconds = $enddate-$startdate; $time = floor(($diff_seconds)/86400); $day = $time+1; echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>"; }
Uji: Kira jumlah bilangan hari pada 2000-3-5 (kerana 2000 ialah tahun lompat, jadi 31 29 5=65)
GetDays(2000,3,5);
Hasil output ialah:
OK, jumlah bilangan hari adalah betul! Menggunakan fungsi GetDays($year,$month,$day), kita juga boleh mengira jumlah hari dalam setahun
GetDays(2000,12,31); GetDays(2021,12,31);
Hasil output ialah:
Baiklah, itu sahaja buat masa ini. Jika anda ingin tahu apa-apa lagi, anda boleh klik di sini. → →tutorial video php
Atas ialah kandungan terperinci Aplikasi fungsi PHP untuk mengira berapa hari yang ada sehingga hari tertentu dalam bulan tertentu dalam tahun tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!