Ответ 1
echo date('m-01-Y 00:00:00',strtotime('this month')) . '<br/>';
echo date('m-t-Y 12:59:59',strtotime('this month')) . '<br/>';
У меня есть проблема в php find start date и дата окончания месяца и года, когда я знаю год и месяц?
ex:
input - > year = 2011 , month = 08
output -> start date = 01 , end date = 31
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, и вы можете найти дату окончания со следующей функцией
cal_days_in_month(CAL_GREGORIAN, $month, $year);
Использовать дату (формат t дает дни в году) и создать для нее время:
$year = 2011; $month = 6;
$starts = 1;
$ends = date('t', strtotime($month.'/'.$year)); //Returns days in month 6/2011
Я действительно не могу понять вас четко, но чтобы получить дату начала здесь, это код
date('Y-m-d');
этот код выше даст вам сегодня день и для завершения конца месяца этот код, который я использовал до
date(’Y-m-d’,strtotime(’-1 second’,strtotime(’+1 month’,strtotime(date(’m').’/01/’.date(’Y').’ 00:00:00′))));
Надеюсь, это поможет вам в вашей проблеме.
hi Попробуйте этот способ, вы можете это сделать
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();`
Вы должны посмотреть в 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
PHP может иметь более элегантный способ сделать это, но если вам нужен общий алгоритм, вот что вам нужно сделать...
Все месяцы, кроме февраля, имеют фиксированное количество дней. Февраль имеет 29 только тогда, когда он високосный год. Вот правила, чтобы проверить, является ли это високосным годом:
$year = '2017';
$month = '05';
echo date("$year-$month-01");
echo "<br>";
echo date("$year-$month-t");
кратчайшее решение по моему мнению.