PHP 关于strtotime(" x month") bug的解决
PHP 关于strtotime("- x month") bug的解决
strtotime('-x month'); 在涉及到月份修改的时候,可能不会得到预料的结果。
此为php的一个bug:
https://bugs.php.net/bug.php?id=27793
?
如:当前时间为: 2011-08-31 17:21:22
date_default_timezone_set('Asia/Shanghai');
$t = time();
print_r(array(
??? ??? ??? date('Y年m月',$t),
??? ??? ??? date('Y年m月',strtotime('- 1 month',$t)),
??? ??? ??? date('Y年m月',strtotime('- 2 month',$t)),
));
?>
上面代码输出:
Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年07月
)
而预期的结果是:
Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年06月
)
?
============================================
?
可以用如下方法解决:
date_default_timezone_set('Asia/Shanghai');
$first_day_of_month = date('Y-m',time()) . '-01 00:00:01';
$t = strtotime($first_day_of_month);
print_r(array(
??? ??? ??? date('Y年m月',$t),
??? ??? ??? date('Y年m月',strtotime('- 1 month',$t)),
??? ??? ??? date('Y年m月',strtotime('- 2 month',$t)),
));
?>
输出:
Array
(
??? [0] => 2011年08月
??? [1] => 2011年07月
??? [2] => 2011年06月
)

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



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

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,

Tajuk: Contoh menggunakan fungsi Array.Sort untuk mengisih tatasusunan dalam Teks C#: Dalam C#, tatasusunan ialah struktur data yang biasa digunakan dan operasi pengisihan tatasusunan selalunya diperlukan. C# menyediakan kelas Array, yang mempunyai kaedah Isih untuk menyusun tatasusunan dengan mudah. Artikel ini akan menunjukkan cara menggunakan fungsi Array.Sort dalam C# untuk mengisih tatasusunan dan memberikan contoh kod khusus. Pertama, kita perlu memahami penggunaan asas fungsi Array.Sort. Susunan.Jadi

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

Apabila pengaturcaraan dalam PHP, kita selalunya perlu menggabungkan tatasusunan. PHP menyediakan fungsi array_merge() untuk melengkapkan penggabungan tatasusunan, tetapi apabila kunci yang sama wujud dalam tatasusunan, fungsi ini akan menimpa nilai asal. Untuk menyelesaikan masalah ini, PHP juga menyediakan fungsi array_merge_recursive() dalam bahasa, yang boleh menggabungkan tatasusunan dan mengekalkan nilai kunci yang sama, menjadikan reka bentuk program lebih fleksibel. array_merge
