看板 PHP 關於我們 聯絡資訊
有一日期為:099/08/31 切開用下面的方法來跳六個月 $tmp_day = date ("Y/m/d", mktime (0,0,0,$MM+6,$DD,$YY)); 得到的會是 100/03/03,而不是100/02/28 測試: 如果是:099/08/28 會得到 100/02/28 如果是:099/08/29 會得到 100/03/01 這算是bug嗎?? 是否有其它方法可以來跳6個月呢?? 若用天數來跳,變成還要多算一次30*n+31*m 有點麻煩 謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.30.14.18
LPH66:呃, 並沒有民國100年2月29日這種東西啊... 03/01 12:11
LPH66:所以 php 會認為你要的是2月28日的隔天也就是3月1日... 03/01 12:11
LPH66:看你需要的跳六個月的要求是怎樣再來問解法 03/01 12:12
danielguo:這不是 bug, 輸給函式的值是錯的 03/01 13:22
danielguo:月份加上去後用 checkdate 檢查, 不對自己從天那邊扣 03/01 13:31
danielguo:(月份超過 12 進位到年) 03/01 13:31
mesak:用秒數算如何? strtotime('2010/08/31') + 86400*180 03/02 02:12