PHP時間日期操作

2022-05-19 13:07:49 字數 3228 閱讀 1766

1 date_default_timezone_set('prc'); //

預設時區

2//當前的時間增加5天

3$date1 = "2014-11-11";

4echo

date('y-m-d',strtotime("$date1 +5 day")); //

輸出結果:2014-11-16

5//相應地,要增加月,年,將day改成month或year即可67

89echo "今天:",date("y-m-d",time()),"";

10echo "昨天:",date("y-m-d",strtotime("-1 day")), "";

11echo "明天:",date("y-m-d",strtotime("+1 day")), "";

12echo "一周後:",date("y-m-d",strtotime("+1 week")), "";

13echo "一周零兩天四小時兩秒後:",date("y-m-d g:h:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "";

14echo "下個星期四:",date("y-m-d",strtotime("next thursday")), "";

15echo "上個周一:".date("y-m-d",strtotime("last monday"))."";

16echo "乙個月前:".date("y-m-d",strtotime("last month"))."";

17echo "乙個月後:".date("y-m-d",strtotime("+1 month"))."";

18echo "十年後:".date("y-m-d",strtotime("+10 year"))."";

1 **

2 *功能:取得給定日期所在周的開始日期和結束日期

3 * 引數:$gdate 日期,預設為當天,格式:yyyy-mm-dd

4 * $first

一周以星期一還是星期天開始,0為星期天,1為星期一

5 * 返回:陣列array("開始日期", "結束日期");

6 *

7 */89

function aweek($gdate = "", $first = 0)

2324

echo

implode("|", aweek("", 1)).'

';25

//echo date("y-m-d",strtotime("time()"));

26echo '本週第一天(星期日為一周開始):'.date('y-m-d', time()-86400*date('w')).'';

27echo '本週第一天(星期一為一周開始):'.date('y-m-d', time()-86400*date('w')+(date('w')>0?86400:-6*86400)).'';

28echo '本月第一天:'.date('y-m-d', mktime(0,0,0,date('m'),1,date('y'))).'';

29echo '本月最後一天:'.date('y-m-d', mktime(0,0,0,date('m'),date('t'),date('y'))).'';

30//

上個月的開始日期

31$m = date('y-m-d', mktime(0,0,0,date('m')-1,1,date('y')));

32//

上個月共多少天

33$t = date('t',strtotime("$m"));

34echo '上月第一天:'.date('y-m-d', mktime(0,0,0,date('m')-1,1,date('y'))).'';

35echo '上月最後一天:'.date('y-m-d', mktime(0,0,0,date('m')-1,$t,date('y'))).'';

1

//php手冊上有乙個這個方法,用來返回指定日期的周一和週日

2function get_week_range($week, $year

)else

10$monday = strtotime('+'.($week - 1).' week', $firstweek

);11

$sunday = strtotime('+6 days', $monday

);12

13$start = date("y-m-d", $monday

);14

$end = date("y-m-d", $sunday

);15

16return

array($start, $end

);17}18

19//

strtotime獲取本週第一天和最後一天方法的bug

2021

//php手冊上有乙個這個方法,用來返回指定日期的周一和週日

2223

function get_week_range2($week, $year

)else

31$monday = strtotime('+'.($week - 1).' week', $firstweek

);32

$sunday = strtotime('+6 days', $monday

);33

34$start = date("y-m-d", $monday

);35

$end = date("y-m-d", $sunday

);36

37return

array($start, $end

);38 }

但在跨年的時候使用會有問題

例如2023年的12月31日週六和2023年1月1日週日,拿到的周一和週日完全不同

2023年12月31日拿合到的周一和週日分別對應

2011-12-26

2012-01-01

但2023年1月1日拿 到的周一和週日分別對應

2012-01-02

2012-01-04

原因為傳進去的方法的週為第53周,但是年為2023年,所以認為2011的第53周,所以計算有誤,解決方法為,

如果週為大於10(因為一月個月不可能有10周),且月份為1的時候,將年減1處理

1

if(date('m',$last_week_time) == '01' and $tmp_last_week > 10)

php時間日期

1.時間戳轉化成時間格式 轉換之後 2.php當前時間 date y m d h i s 3.判斷當前月超過14號跳到下一月可以用php直接輸出,不用去用js來寫 這是月,輸出是2,echo date j 14?date n strtotime 1 month date n 如圖 若要輸出02,把n...

delphi 時間日期操作

delphi 時間日期操作 用於時間操作的函式 date函式 定義 date tdatetime 作用 返回當前的日期 範例 currentdate date dayofweek函式 定義 function dayofweek date tdatetime integer 作用 得到指定日期的星期值...

Oracle時間日期操作

oracle時間日期操作 sysdate 5 24 60 60 在系統時間基礎上延遲5秒 sysdate 5 24 60 在系統時間基礎上延遲5分鐘 sysdate 5 24 在系統時間基礎上延遲5小時 sysdate 5 在系統時間基礎上延遲5天 add months sysdate,5 在系統時...