如何找到开始日期&任何特定年份的结束日期&月

时间:2011-08-25 03:54:25

标签: php

我在php找到开始日期&月结束日期&那年,当我知道年月的时候?

前:

input - > year = 2011 , month = 08
output -> start date = 01 , end date = 31

8 个答案:

答案 0 :(得分:28)

echo date('m-01-Y 00:00:00',strtotime('this month')) . '<br/>';
echo date('m-t-Y 12:59:59',strtotime('this month')) . '<br/>';

答案 1 :(得分:7)

开始日期始终为1,您可以使用以下功能找到结束日期

cal_days_in_month(CAL_GREGORIAN, $month, $year);

答案 2 :(得分:4)

使用日期(t格式给出一年中的天数)并为其创建时间:

$year = 2011; $month = 6;

$starts = 1;
$ends = date('t', strtotime($month.'/'.$year)); //Returns days in month 6/2011

答案 3 :(得分:3)

我真的无法理解你,但是这里的开始日期是代码

date('Y-m-d');

上面的代码将为您提供今天的日子 并且在我之前使用的代码

中结束运行月份
date(’Y-m-d’,strtotime(’-1 second’,strtotime(’+1 month’,strtotime(date(’m').’/01/’.date(’Y').’ 00:00:00′))));

我希望这可以帮助您解决问题

答案 4 :(得分:2)

嗨试试这种方式,你可以做到这一点

function firstOfMonth() {
return date("m/d/Y", strtotime(date('m').'/01/'.date('Y').' 00:00:00'));
}

function lastOfMonth() {
return date("m/d/Y", strtotime('-1 second',strtotime('+1 month',strtotime(date('m').'/01/'.date('Y').' 00:00:00'))));
}

$date_start = firstOfMonth();
$date_end  = lastOfMonth();`

答案 5 :(得分:2)

你应该看看strtotime:

echo date("D, M j, Y", strtotime("FIRST DAY OF MAY 2012"));
// Tue, May 1, 2012
echo date("D, M j, Y", strtotime("last DAY june 2012")); // gotcha! using June.
// Thu, May 31, 2012

答案 6 :(得分:2)

PHP可能有一种更优雅的方式,但如果你想要一个通用的算法,这就是你需要做的......

除2月以外的所有月份都有固定的天数。只有闰年才有2月29日。以下是检查是否为闰年的规则:

  1. 如果年份可被4整除,请转到步骤2.否则,请转到步骤5.
  2. 如果年份可以被100整除,请转到步骤3.否则,请转到步骤4.
  3. 如果年份可被400整除,请转到步骤4.否则,请转到步骤5.
  4. 这一年是闰年(二月有29天)。
  5. 这一年不是闰年(二月有28天)。

答案 7 :(得分:-1)

$year = '2017';
$month = '05';
echo date("$year-$month-01");
echo "<br>";
echo date("$year-$month-t");

我个人认为最短的解决方案。