亚洲无码av在线免费观看,国产午夜激无码av片在线观看,久久精品人妻一区二区三区,中文精品久久久久鬼色,体育生GAY爽擼又大又粗的雞巴

宏博網(wǎng)絡(luò) | 專注互聯(lián)網(wǎng)品牌一站式服務(wù)

Thank you for visiting

029-81773686

全網(wǎng)開發(fā)&整合營銷服務(wù)商

CopyRight
?HOOBOO All rights reserved

全網(wǎng)開發(fā)&整合營銷服務(wù)商

029-81773686

網(wǎng)站建設(shè):PHP關(guān)于strtotime函數(shù)的BUG問題與解決方案

2020.09.11

PHP關(guān)于strtotime函數(shù)的BUG問題與解決方案

最近使用了strtotime結(jié)合-1 month, +1 month, next month獲取上個月或者下個月的日期,不過剛看到一篇文章,才知道原來使用strtotime直接獲取日期還是有點小BUG


如日期:

$today = '2020-10-31';

var_dump( date("Y-m-d",strtotime("$today -1 month")) ); // 輸出:2020-10-01

根據(jù)上面的輸出可以看出來,輸出的還是2020年10月


分析:


先做-1 month, 那么當(dāng)前是07-31, 減去一以后就是06-31.


再做日期規(guī)范化, 因為6月沒有31號, 所以就好像2點60等于3點一樣, 6月31就等于了7月1


是不是邏輯很“清晰”呢? 再舉個例子 比如:


var_dump( date("Y-m-d", strtotime("2020-12-31")) ); // 輸出2020-12-01




也就是說, 只要涉及到大小月的最后一天, 都可能會有這個迷惑, 我們也可以很輕松的驗證類似的其他月份, 印證這個結(jié)論:


var_dump( date("Y-m-d", strtotime("-1 month", strtotime("2020-12-31"))) ); // 輸出2020-12-03

 

var_dump( date("Y-m-d", strtotime("+1 month", strtotime("2020-08-31"))) ); // 輸出2020-10-01

 

var_dump( date("Y-m-d", strtotime("next month", strtotime("2020-01-31"))) ); // 輸出2020-03-03

 

var_dump( date("Y-m-d", strtotime("last month", strtotime("2020-03-31"))) ); // 輸出2020-03-03



解決方案

從PHP5.3開始呢, date新增了“first day of” 和 “l(fā)ast day of”來修正短語, 來明確這個問題, 也就是可以限定好不要讓date自動“規(guī)范化”:


var_dump( date("Y-m-d", strtotime("last day of -1 month", strtotime("2020-03-31"))) ); // 輸出2020-02-28

 

var_dump( date("Y-m-d", strtotime("first day of +1 month", strtotime("2020-08-31"))) ); // 輸出2020-09-01

 

var_dump( date("Y-m-d", strtotime("first day of next month", strtotime("2020-01-31"))) ); // 輸出2020-02-01

 

var_dump( date("Y-m-d", strtotime("last day of last month", strtotime("2020-03-31"))) ); // 輸出2020-02-28


那如果是5.3之前的版本, 可以使用mktime之類的, 把所有的日子忽略掉, 比如都限定為每月1號就可以了, 只不過就不如直接用first day來的更加優(yōu)雅.


上一篇:西安企業(yè)做營銷型網(wǎng)站的策劃思路

下一篇:企業(yè)如何做好手機網(wǎng)站建設(shè)?

CopyRight ? 西安宏博網(wǎng)絡(luò)科技有限公司   備案號:陜ICP備10007014號-8   站點地圖 免責(zé)聲明:本網(wǎng)站部分資源來源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系我們告知刪除,我們將會盡快處理,謝謝!本站不承擔(dān)任何法律責(zé)任。