php中一個有意思的日期邏輯處理
更新時間:2012年03月25日 22:25:40 作者:
今天處理了一個很小的問題。需求是這樣的,從周一到周日只能看到上周一到上周日的數(shù)據(jù)。這里直接從數(shù)據(jù)庫里根據(jù) date 字段查詢 范圍即可
今天處理了一個很小的問題。
需求是這樣的,從周一到周日只能看到上周一到上周日的數(shù)據(jù)。
這里直接從數(shù)據(jù)庫里根據(jù) date 字段查詢 范圍即可。
但需要PHP生成 開始日期和結(jié)束日期。
最開始,我直接這么處理。
$start_date = date('Y-m-d' , strtotime("-2 week monday"));
$end_date = date('Y-m-d' , strtotime("$start_date +6 day"));
假如日期是 2011-07-19,$start_date= 2011-07-11 這樣處理沒有問題。
如果日期是 2011-07-18 ,$start_date 則會等于 2011-07-04,還活在上周。
于是換了種方法
$getWeekDay = date("w");
$startDay = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime("+6 day $startDay"));
假如日期是 2011-07-19,$start_date= 2011-07-11 這樣處理沒有問題,和我們期望的一樣。
如果日期是 2011-07-24,我們期望的 $start_date 是 2011-07-11,但實際返回的是 2011-07-18。
不得已,我再改了下方法
$getWeekDay = date("N") ;
$startDay = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime("+6 day $startDay"));
這下就OK 了。
需求是這樣的,從周一到周日只能看到上周一到上周日的數(shù)據(jù)。
這里直接從數(shù)據(jù)庫里根據(jù) date 字段查詢 范圍即可。
但需要PHP生成 開始日期和結(jié)束日期。
最開始,我直接這么處理。
復(fù)制代碼 代碼如下:
$start_date = date('Y-m-d' , strtotime("-2 week monday"));
$end_date = date('Y-m-d' , strtotime("$start_date +6 day"));
假如日期是 2011-07-19,$start_date= 2011-07-11 這樣處理沒有問題。
如果日期是 2011-07-18 ,$start_date 則會等于 2011-07-04,還活在上周。
于是換了種方法
復(fù)制代碼 代碼如下:
$getWeekDay = date("w");
$startDay = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime("+6 day $startDay"));
假如日期是 2011-07-19,$start_date= 2011-07-11 這樣處理沒有問題,和我們期望的一樣。
如果日期是 2011-07-24,我們期望的 $start_date 是 2011-07-11,但實際返回的是 2011-07-18。
不得已,我再改了下方法
復(fù)制代碼 代碼如下:
$getWeekDay = date("N") ;
$startDay = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime("+6 day $startDay"));
這下就OK 了。
相關(guān)文章
詳談php中 strtr 和 str_replace 的效率問題
下面小編就為大家?guī)硪黄斦刾hp中 strtr 和 str_replace 的效率問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
解決微信授權(quán)回調(diào)頁面域名只能設(shè)置一個的問題
在做項目集成微信登錄以及微信支付的時候,都需要進行用戶授權(quán)。本文主要介紹了關(guān)于網(wǎng)頁授權(quán)回調(diào)域名的說明以及解決微信授權(quán)回調(diào)頁面域名只能設(shè)置一個問題的方案。需要的朋友可以參考借鑒2016-12-12
PHP調(diào)用存儲過程返回值不一致問題的解決方法分析
這篇文章主要介紹了PHP調(diào)用存儲過程返回值不一致問題的解決方法,結(jié)合實例形式分析了存儲過程調(diào)用返回值不一致的原因與解決方法,需要的朋友可以參考下2016-04-04

