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