Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中一个月最后一天的mktime函数_Php_Mktime - Fatal编程技术网

php中一个月最后一天的mktime函数

php中一个月最后一天的mktime函数,php,mktime,Php,Mktime,了解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,

了解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);
 ?>

输出:2014-02-28 00:00:00


在PHP函数的mktime方法中,将
month
第4个参数和第5个参数作为
day=0传递时会出现严重的混乱

来自PHP官方文档:

示例#3一个月的最后一天**

任何给定月份的最后一天都可以表示为下个月的“0”天,而不是-1天。以下两个示例都将生成字符串“2000年2月的最后一天是:29”

输出如下:

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

日期应为
值1至28、29、30或31
2月31日?真的吗?:-)@chumkiu它的打字错误,实际上我希望月份应该是2而不是1,即2月而不是2月
$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