Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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/5/date/2.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 获取特定月/年的当月第一天_Php_Date - Fatal编程技术网

Php 获取特定月/年的当月第一天

Php 获取特定月/年的当月第一天,php,date,Php,Date,是否有比下面更好的方法返回特定月份/年份的第一天的日期 $month = date('m'); $year = date('Y'); $from = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year)); 这在计算上并不完美,但我喜欢它,因为它可读性很强: strtotime("first day of this month"); 这看起来是对我做这件事的正确方式。不过,您可能希望将它变成一个函数。为什么这么复杂 date("Y-m-01") 这

是否有比下面更好的方法返回特定月份/年份的第一天的日期

$month = date('m');
$year = date('Y');
$from = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year));

这在计算上并不完美,但我喜欢它,因为它可读性很强:

strtotime("first day of this month");

这看起来是对我做这件事的正确方式。不过,您可能希望将它变成一个函数。

为什么这么复杂

date("Y-m-01")
这就行了;)

(别担心,在意识到我可以做到这一点之前,我浪费了一个小时来摆弄strotime,这让我很生气!)

日期(“Y-m-01”)
会很好地工作; 我使用了同样的技术来查找从每月第一天到今天的记录。 查看以下代码行:

if(!isset($FromDate))
          $FromDate=date('Y-m-01'); //date with current month's first day

if(!isset($ToDate))
         $ToDate=date('Y-m-d'); /////current date

我希望它能按要求工作。

你说的更好是什么意思?您所拥有的似乎很好。值得注意的是,“下个月的第一天”和“本月的第一天+2个月”等变体也有效。还值得注意的是,与问题中以午夜为时间的示例不同,此版本使用当前的小时、分和秒。我喜欢使用
$date=new DateTime(“本月的第一天”)$日期->设置时间(0,0,0)