PHP获取上个月、下个月、本月的日期strtotime,date
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改。
获取本月日期:
1 function getMonth($date){ 2 $firstday = date("Y-m-01",strtotime($date)); 3 $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); 4 return array($firstday,$lastday); 5 }
$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。
获取上月日期:
1 function getlastMonthDays($date){ 2 $timestamp=strtotime($date); 3 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01')); 4 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 5 return array($firstday,$lastday); 6 }
上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。
获取下月日期:
1 function getNextMonthDays($date){ 2 $timestamp=strtotime($date); 3 $arr=getdate($timestamp); 4 if($arr['mon'] == 12){ 5 $year=$arr['year'] +1; 6 $m -11; 7 $firstday=$year.'-0'.$month.'-01'; 8 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 9 }else{ 10 $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01')); 11 $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 12 } 13 return array($firstday,$lastday); 14 }
下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。
总得来说,还是很方便的,日期函数太强大了。
以上就介绍了PHP获取上个月、下个月、本月的日期strtotime,date,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Jika anda sedang mencari cara untuk membuat dan menamakan fail dan folder secara automatik berdasarkan cap masa sistem, anda telah datang ke tempat yang betul. Terdapat cara yang sangat mudah untuk menyelesaikan tugas ini. Folder atau fail yang dibuat kemudiannya boleh digunakan untuk pelbagai tujuan seperti menyimpan sandaran fail, menyusun fail berdasarkan tarikh, dsb. Dalam artikel ini, kami akan menerangkan dalam beberapa langkah yang sangat mudah cara membuat fail dan folder secara automatik dalam Windows 11/10 dan menamakannya mengikut cap masa sistem. Kaedah yang digunakan adalah skrip kelompok, yang sangat mudah. Harap anda seronok membaca artikel ini. Bahagian 1: Cara membuat dan menamakan folder secara automatik berdasarkan cap masa semasa sistem Langkah 1: Mula-mula, navigasi ke folder induk tempat anda ingin mencipta folder,

Apabila membangunkan menggunakan program PHP, anda sering menghadapi beberapa amaran atau mesej ralat. Antaranya, satu mesej ralat yang mungkin muncul ialah: PHPWarning:date()expectsparameter2tobelong,stringgiven. Mesej ralat bermaksud: parameter kedua bagi tarikh fungsi() dijangka menjadi integer panjang (panjang), tetapi yang sebenarnya dihantar kepadanya ialah rentetan (rentetan). Jadi, kita

Cap masa merujuk kepada jumlah bilangan saat dari 00:00:00 pada 1 Januari 1970, Greenwich Mean Time (08:00:00 pada 1 Januari 1970, waktu Beijing) hingga sekarang. Pelbagai versi MySQL digunakan dalam persekitaran pengeluaran, termasuk tiga versi utama MySQL 5.5/5.6/5.7 dan N versi minor Disebabkan oleh keserasian ke atas yang lemah, SQL yang sama berkelakuan berbeza dalam versi yang berbeza jenis diperkenalkan secara terperinci dari beberapa aspek. Capaian data cap masa Dalam tiga versi utama MySQL di atas, julat nilai jenis cap masa lalai (Timestamp) ialah'1970-01-0100:00:01&r

1. Pengenalan Kelas Tarikh dalam pakej java.util mewakili masa tertentu, tepat kepada milisaat. Jika kita ingin menggunakan kelas Date kita, maka kita mesti memperkenalkan kelas Date kita. Menulis tahun terus ke dalam kelas Tarikh tidak akan menghasilkan hasil yang betul. Oleh kerana Date in Java dikira dari 1900, jadi selagi anda mengisi parameter pertama dengan bilangan tahun sejak 1900, anda akan mendapat tahun yang anda inginkan. Bulan perlu ditolak dengan 1, dan hari boleh dimasukkan terus. Kaedah ini jarang digunakan, dan kaedah kedua biasa digunakan. Kaedah ini adalah untuk menukar rentetan yang mematuhi format tertentu, seperti yyyy-MM-dd, kepada data jenis Tarikh. Mula-mula, tentukan objek jenis Date Date

Bagaimana untuk mendapatkan perwakilan milisaat tarikh menggunakan kaedah getTime() kelas Tarikh Dalam Java, kelas Tarikh ialah kelas yang digunakan untuk mewakili tarikh dan masa. Ia menyediakan banyak kaedah berguna untuk memanipulasi dan mendapatkan maklumat tentang objek tarikh. Antaranya, kaedah getTime() ialah kaedah penting dalam kelas Date, yang boleh mengembalikan perwakilan milisaat objek tarikh. Seterusnya, kami akan memperincikan cara menggunakan kaedah ini untuk mendapatkan perwakilan milisaat tarikh, dan memberikan contoh kod yang sepadan. Menggunakan kelas Tarikh

Terdapat banyak perpustakaan kalendar dan pustaka tarikh yang sangat baik dalam Python untuk kami gunakan Perpustakaan ini boleh membantu kami mengendalikan operasi berkaitan tarikh dan kalendar. Seterusnya, saya akan memperkenalkan anda kepada beberapa pilihan biasa dan memberikan contoh kod yang sepadan. Pustaka Datetime: Datetime ialah modul pemprosesan tarikh dan masa terbina dalam Python Ia menyediakan banyak kelas dan kaedah berkaitan tarikh dan masa, yang boleh digunakan untuk memproses tarikh, masa, perbezaan masa dan operasi lain. Kod contoh: importdatetime#Dapatkan tarikh semasa

Kelas Stringbuild Memandangkan kandungan objek kelas String tidak boleh diubah, objek String baharu akan dibina setiap kali ia disambung, yang memakan masa dan membazirkan ruang memori Pada masa ini, anda perlu menyelesaikan masalah ini melalui StringBuild kelas yang disediakan oleh Java StringBuilder juga dipanggil jujukan aksara pembolehubah , ia adalah penimbal rentetan yang serupa dengan String, yang boleh dianggap sebagai bekas yang boleh disimpan dalam bekas adalah berubah-ubah. Kaedah pembinaan publicStringBuilder(): mencipta penimbal kosong publicStringBuilder(Stringsr

Saya menghadapi masalah selepas springboot dinaik taraf kepada 2.0, tarikh yang ditemui daripada pangkalan data telah diterima menggunakan Tarikh dan akhirnya dikembalikan terus ke hujung hadapan Ia boleh dipaparkan seperti biasa dalam format yyyy-MM-ddHH:mm:ss dalam Google Chrome. Walau bagaimanapun, tarikh yang dipaparkan dalam penyemak imbas IE adalah "bercelaru" kerana versi springboot1.x mengembalikan cap masa dalam medan Tarikh secara lalai, dan Google dan IE akan menukar cap masa secara automatik kepada yyyy-MM-ddHH:mm:ss ;Selepas springboot2.0, spring secara automatik akan menukar medan Tarikh kepada rentetan UTC (tanpa konfigurasi), jadi tarikh perlu ditukar kepada cap waktu atau y
