[英]mktime function in case of Last day of a month in php
PHP函數mktime
一個月最后一天的理解
echo date("Y-m-d H:i:s", mktime(0, 0, 0, 2, 0, 2014));
輸出是
2014-01-31 00:00:00
它應該是
2014-02-28 00:00:00
我在這里做的錯在哪里?
我看不出問題。 在我看來是正確的。
您已要求 2 月 0 日,即 2 月 1 日(又稱 1 月 31 日)的前一天。
如果您將 day 設置為0 ,它將返回一個月的最后一天 - 1
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
?>
echo date("Y-m-d H:i:s", mktime(0, 0, 0, 2, 28, 2014)); //You can't show 29 in feb 2014
輸出:2014-02-28 00:00:00
當您通過專業的混亂month
第四個參數和第五參數為day = 0
在PHP函數mktime方法。
來自 PHP 官方文檔:
Example #3 一個月的最后一天**
任何給定月份的最后一天都可以表示為下個月的“0”天,而不是 -1 天。 以下兩個示例都將產生字符串“The last day in Feb 2000 is: 29”。
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("Last day in Feb 2000 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("\nLast day in Feb 2000 is: %d", $lastday);
// For Feb 2014
$lastday = mktime(0, 0, 0, 3, 0, 2014);
echo strftime("\nLast day in Feb 2014 is: %d", $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2014);
echo strftime("\nLast day in Feb 2014 is: %d", $lastday);
?>
輸出如下:
Last day in Feb 2000 is: 29
Last day in Feb 2000 is: 29
Last day in Feb 2014 is: 28
Last day in Feb 2014 is: 28
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.