Rumah > Artikel > pembangunan bahagian belakang > Aplikasi fungsi PHP mengembalikan hari sebelum dan hari selepas tarikh tertentu
Dalam artikel sebelumnya "Penggunaan fungsi PHP untuk mengira berapa hari terdapat sehingga hari tertentu dalam bulan tertentu dalam tahun tertentu", kami memperkenalkan penggunaan fungsi strtotime() untuk mengira perbezaan masa antara dua kaedah tarikh. Kali ini kita akan melihat bagaimana untuk mengembalikan tarikh sebelum dan selepas tarikh yang ditentukan. Rakan-rakan yang berminat boleh mempelajarinya~
Tumpuan artikel ini ialah: mengembalikan tarikh hari sebelum dan hari selepas masa tertentu. Jadi bagaimana untuk melakukannya?
Sebenarnya fungsi strtotime() terbina dalam PHP boleh mencapai operasi ini! Mari kita lihat kaedah pelaksanaan saya:
Kembalikan kod pelaksanaan hari sebelum tarikh tertentu
<?php function GetTime($year,$month,$day){ $timestamp = strtotime("{$year}-{$month}-{$day}"); $time = strtotime("-1 days",$timestamp); echo date("Y-m-d",$time)."<br>"; } GetTime(2000,3,1); GetTime(2021,1,1); ?>
Hasil keluaran:
Kembalikan kod pelaksanaan untuk hari selepas tarikh tertentu
<?php function GetTime($year,$month,$day){ $timestamp = strtotime("{$year}-{$month}-{$day}"); $time = strtotime("+1 days",$timestamp); echo date("Y-m-d",$time)."<br>"; } GetTime(2000,2,28); GetTime(2021,2,28); ?>
Hasil keluaran:
Analisis kod kunci:
Fungsi strtotime() mempunyai dua kegunaan: satu adalah untuk menghuraikan tarikh dan masa yang diterangkan dalam teks bahasa Inggeris dalam bentuk rentetan ke dalam cap waktu UNIX, dan satu lagi adalah untuk mengira selang beberapa tarikh dan masa .
Kami menggunakan fungsi strtotime() untuk mengira selang masa, menggunakan strtotime("-1 days",$timestamp)
dan strtotime(" 1 hari",$timestamp)<code>strtotime(" 1 days",$timestamp)<br>
untuk mengira Dapatkan tarikh sehari sebelum dan sehari selepas tarikh yang ditetapkan.
"-1 days
" bermaksud menolak satu hari, " 1 days
" bermaksud menambah satu hari; memerhati corak, kita juga boleh mendapatkan tarikh N hari pertama dan N hari seterusnya mengikut keperluan
<?php function GetTime($year,$month,$day){ $timestamp = strtotime("{$year}-{$month}-{$day}"); $time1 = strtotime("-2 days",$timestamp); $time2 = strtotime("+3 days",$timestamp); echo date("Y-m-d",$time1)."<br>"; echo date("Y-m-d",$time2)."<br>"; } GetTime(2000,3,5); ?>
Apabila fungsi strtotime() mempunyai dua parameter, parameter kedua mestilah dalam format cap waktu. Oleh itu, kita perlu menggunakan fungsi strtotime() sekali untuk menukar tarikh yang ditentukan dalam bentuk rentetan kepada rentetan kemudian gunakan fungsi strtotime() sekali untuk melakukan penambahan dan penolakan tarikh untuk mendapatkan tarikh N hari sebelum dan N hari; selepas.
Nilai pulangan fungsi strtotime() adalah dalam format cap waktu, jadi anda perlu menggunakan date("Y-m-d",$time)
untuk memformat tarikh dan masa serta mengembalikan tarikh dalam format 年-月-日
.
Pengetahuan lanjutan:
Malah, menggunakan fungsi strtotime() , anda bukan sahaja boleh dapatkan jumlah N hari sebelumnya N hari selepas tarikh, anda juga boleh dapatkan N bulan sebelumnya dan N bulan tarikh berikutnya , N tahun sebelumnya dan N tahun berikutnya tarikh :
<?php $month1 = strtotime("-1 months",strtotime("2000-1-2")); $month2 = strtotime("+2 months",strtotime("2000-1-2")); echo date("Y-m-d",$month1)."<br>"; echo date("Y-m-d",$month2)."<br><br>"; $year1 = strtotime("-1 years",strtotime("2000-1-2")); $year2 = strtotime("+2 years",strtotime("2000-1-2")); echo date("Y-m-d",$year1)."<br>"; echo date("Y-m-d",$year2)."<br>"; ?>
Hasil keluaran:
Jika anda mahu dapatkan tarikh minggu sebelumnya dan minggu berikutnya, anda juga boleh menggunakan fungsi strtotime(). Contohnya: tarikh semasa ialah 2021-8-19, tarikh minggu sebelumnya dan minggu berikutnya ialah:
Kod pelaksanaan:
<?php header("content-type:text/html;charset=utf-8"); $start = time(); //获取当前时间的时间戳 echo "当前日期为:".date('Y-m-d',$start)."<br />"; $interval = 7 * 24 * 3600; //一周总共的秒数 $previous_week = $start - $interval; //当前时间的时间戳 减去 一周总共的秒数 $next_week = $start + $interval; //当前时间的时间戳 加上 一周总共的秒数 echo "前一周日期为:".date('Y-m-d',$previous_week)."<br />"; echo "后一周日期为:".date('Y-m-d',$next_week)."<br />"; ?>
Hasil keluaran:
Perbezaan antara dua tarikh ialah tepat 7 hari. Ini sebenarnya adalah aplikasi terbalik untuk mengira perbezaan masa.
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →tutorial video php
Atas ialah kandungan terperinci Aplikasi fungsi PHP mengembalikan hari sebelum dan hari selepas tarikh tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!