摘要:我在開發(fā)過程中遇到這么這個(gè)問題,因?yàn)橼s進(jìn)度,沒有記下來處理方案,在鳥哥的博客看到原理分析,很到位平時(shí)開發(fā)中總是急著處理問題,沒有深入分析和記錄問題。
我在開發(fā)過程中遇到這么這個(gè)問題,因?yàn)橼s進(jìn)度,沒有記下來處理方案,在鳥哥的博客看到原理分析,很到位!平時(shí)開發(fā)中總是急著處理問題,沒有深入分析和記錄問題。1、問題:
今天是2018-07-31 執(zhí)行代碼:date("Y-m-d",strtotime("-1 month"))
輸出是2018-06-01?
先做-1 month, 那么當(dāng)前是07-31, 減去一以后就是06-31.
再做日期規(guī)范化, 因?yàn)?月沒有31號(hào), 所以就好像2點(diǎn)60等于3點(diǎn)一樣, 6月31就等于了7月1
2-1、驗(yàn)證var_dump(date("Y-m-d", strtotime("2017-06-31"))); //輸出2017-07-01
只要涉及到大小月的最后一天, 都可能會(huì)有這個(gè)問題
var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2017-03-31")))); //輸出2017-03-03 var_dump(date("Y-m-d", strtotime("+1 month", strtotime("2017-08-31")))); //輸出2017-10-01 var_dump(date("Y-m-d", strtotime("next month", strtotime("2017-01-31")))); //輸出2017-03-03 var_dump(date("Y-m-d", strtotime("last month", strtotime("2017-03-31")))); //輸出2017-03-032-2、處理方案
PHP5.3之后的版本處理方式
”first day of” 和 “l(fā)ast day of”, 也就是你可以限定好不要讓date自動(dòng)”規(guī)范化”
var_dump(date("Y-m-d", strtotime("last day of -1 month", strtotime("2017-03-31")))); //輸出2017-02-28 var_dump(date("Y-m-d", strtotime("first day of +1 month", strtotime("2017-08-31")))); ////輸出2017-09-01 var_dump(date("Y-m-d", strtotime("first day of next month", strtotime("2017-01-31")))); ////輸出2017-02-01 var_dump(date("Y-m-d", strtotime("last day of last month", strtotime("2017-03-31")))); ////輸出2017-02-28
使用mktime之類的, 把所有的日子忽略掉, 比如都限定為每月1號(hào)就可以了, 只不過就不如直接用first day來的更加優(yōu)雅
參考資料:http://www.laruence.com/2018/...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30835.html
摘要:?jiǎn)栴}一獲取下個(gè)月第一天日期二獲取本月最后一天最后一秒的時(shí)間三獲取年前本月的開始時(shí)間四獲取下月第一個(gè)星期天五獲取本月第二個(gè)星期五六獲取兩周前的今天的日期七獲取天前的日期,排除非工作日排除周末八獲取下周星期六的日期解答一如何獲取下個(gè)月第一天日期 問題: 一:獲取下個(gè)月第一天日期? 二:獲取本月最后一天最后一秒的時(shí)間? 三:獲取10年前本月的開始時(shí)間? 四:獲取下月第一個(gè)星期天? 五:獲取本...
摘要:處理時(shí)間的函數(shù)功能強(qiáng)大,相信大家都有目共睹,日常中如果涉及到很多時(shí)間處理方面的需求,函數(shù)的以下用法絕對(duì)讓你面對(duì)時(shí)間處理不再發(fā)愁非常直觀的一些用用法獲取相比當(dāng)前時(shí)間前天的時(shí)間戳這個(gè)取值可以隨意改變相比于當(dāng)前時(shí)間戳減去的時(shí)間當(dāng)前日期的前天的 PHP處理時(shí)間的函數(shù)功能強(qiáng)大,相信大家都有目共睹,日常中如果涉及到很多時(shí)間處理方面的需求, strtotime函數(shù)的以下用法絕對(duì)讓你面對(duì)時(shí)間處理不再發(fā)...
摘要:能將任何英文文本的日期時(shí)間描述解析為時(shí)間戳結(jié)合或格式化日期時(shí)間獲取指定的時(shí)間戳,實(shí)現(xiàn)所需要的日期時(shí)間。輸出小時(shí)制時(shí)間的方法輸出小時(shí)制時(shí)間的方法 strtotime(now) strtotime(today) strtotime(tomorrow) strtotime(yesterday) strtotime(date(Y-m-d, strtotime(+1 day))) st...
摘要:做減法得到值是相差的秒數(shù),這個(gè)秒數(shù)對(duì)一天的秒數(shù)取余,則得到相差數(shù)。如果對(duì)取模,還對(duì)秒秒取余,則得到相關(guān)的小時(shí)和分鐘數(shù)。 $startdate=2011-3-15 11:50:00;//開始時(shí)間 $enddate=2012-12-12 12:12:12;//結(jié)束時(shí)間 $date=floor((strtotime($enddate)-strtotime($startdate))/864...
摘要:背景工作的過程中經(jīng)常會(huì)遇到各種時(shí)間類的操作,因此封裝了一個(gè)幫助工具類,提高代碼的復(fù)用率主要功能根據(jù)相差的天數(shù)獲取連續(xù)的時(shí)間段根據(jù)相差的天數(shù)獲取所有連續(xù)的時(shí)間段轉(zhuǎn)化查詢條件根據(jù)兩個(gè)日期獲取連續(xù)的時(shí)間段根據(jù)開始和結(jié)束時(shí)間獲取所 背景 工作的過程中經(jīng)常會(huì)遇到各種時(shí)間類的操作,因此封裝了一個(gè)幫助工具類,提高代碼的復(fù)用率 主要功能 根據(jù)相差的天數(shù)獲取連續(xù)的時(shí)間段 /** * 根據(jù)相差的...
閱讀 4092·2021-10-08 10:04
閱讀 3073·2021-08-11 11:20
閱讀 2745·2021-07-25 21:37
閱讀 2695·2019-08-30 12:44
閱讀 2321·2019-08-30 11:12
閱讀 1323·2019-08-26 13:45
閱讀 2373·2019-08-26 11:53
閱讀 3068·2019-08-26 11:32