最開始,我直接這么處理。 復制代碼 " /> 久久午夜激情,亚洲人123区,91精品国产九九九久久久亚洲

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php中一個有意思的日期邏輯處理

今天處理了一個很小的問題。
需求是這樣的,從周一到周日只能看到上周一到上周日的數據。
這里直接從數據庫里根據 date 字段查詢 范圍即可。
但需要php生成 開始日期和結束日期。

最開始,我直接這么處理。
復制代碼 代碼如下:
$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 了。

php技術php中一個有意思的日期邏輯處理,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 曲麻莱县| 新泰市| 临清市| 汤阴县| 团风县| 星子县| 巴青县| 嵩明县| 高尔夫| 北川| 潢川县| 青冈县| 砚山县| 晋城| 周口市| 老河口市| 玉门市| 三江| 安新县| 大洼县| 兰西县| 宁海县| 迁安市| 岑巩县| 鹰潭市| 马鞍山市| 瓦房店市| 贵德县| 庆元县| 康保县| 新乡县| 澄江县| 西乌珠穆沁旗| 特克斯县| 寿宁县| 分宜县| 竹溪县| 都匀市| 申扎县| 渑池县| 广汉市|