分答專案 技能點 計算時間段

2021-08-13 17:34:59 字數 1181 閱讀 1971

一、常用日期函式

time返回當前時間戳

mktime 取得乙個日期的 unix 時間戳

strtotime:將字串轉換成時間戳;

date函式的引數變化無窮,功能很強大引數很多比如:date(『w』)函式的返回值: 0(表示星期天)到 6(表示星期六)

二、計算本週開始結束日期

週日為本週開始,date(『w』)函式的返回值0;週六為本週結束,date(『w』)函式的返回值6

開始:date(『d』)-date(『w』) +0本週開始日期

結束:date(『d』)-date(『w』) + 6 本週結束日期

另外一種設計方案:把周一作為本週開始,週日為本週結束

開始:date(『d』)-date(『w』) + 1本週開始日期

結束:date(『d』)-date(『w』) + 7 本週結束日期

這樣設計有問題:如果當前日期在周一到週六範圍內容是正確的;如果當天為週日,上面的開始和結束日期是下一周的範圍開始結束範圍,實際情況是應該計算本週時間範圍,因為週日為本週的最後一天。所有必須單獨處理週日的情況。

三、計算時間段

1、當天(截止到當前時間)

$start_time = strtotime(date('y-m-d',time()));

$end_time = time();

2、本週

$start_time = strtotime(date("y-m-d h:i:s",mktime(0,0,0,  date("m"),date("d")-date("w"),date("y"))));

$end_time = strtotime(date("y-m-d h:i:s",mktime(23,59,59, date("m"),date("d")-date("w")+6,date("y"))));

3、本月

$start_time = strtotime(date("y-m-d h:i:s",mktime(0, 0 , 0,date("m"),1            ,date("y"))));

$end_time = strtotime(date("y-m-d h:i:s" ,mktime(23,59,59,date("m"), date("t"),date("y"))));

計算文章發表時間段

在論壇,微博裡面經常會看到貼子,微博的發布時間顯示的是,幾天以前,幾個小時以前,幾分鐘以前,幾秒以前等統計 下面是乙個計算距離發表時刻時間段的方法12 3456 78910 1112 1314 1516 1718 19public string calculatetime 1 datetime da...

廣點通api 時間段轉換

最近比較忙,做了個廣點通接入,其中乙個功能感覺還是挺有意思的,分享一下 廣告中有乙個時間段,只能傳到乙個引數timeset裡,廣點通這要求格式為 48 7位由 0 和 1 組成的字串,也就是以半個小時為最小粒度,0 為不投放,1 為投放,不傳則視為全時段投放 0 00 1 00 2 00 3 00 ...

時間戳轉換工具,時間段間隔計算

時間戳轉換工具 計算兩個時間戳間隔多少天 starttime是前 endtime在後 public static int equation string starttime,string endtime 將時間轉換為時間戳 精確到毫秒 public static string datetostamp...