Получить начальную и конечную временную метку unix для данного месяца и года в php

Я хочу найти отметку времени в первый день месяца (скажем, 1 сентября 2010 года и 0:00) и последний день в месяц (скажем, 31 сентября 23:59).

Если у вас есть эти даты как строки, вы можете просто использовать strtotime () , если у вас есть только частичная информация, вы можете использовать mktime () .

Однако в сентябре только 30 дней;)

Пример:

$month = 9; $year = 2010; $first = mktime(0,0,0,$month,1,$year); echo date('r', $first); $last = mktime(23,59,00,$month+1,0,$year); echo date('r', $last); 

Если вы используете PHP 5.3 (не пытайтесь это с помощью 5.2, синтаксический анализатор работает по-другому) вы можете говорить:

 <?php $date = "2010-05-10 00:00:00"; $x = new DateTime($date); $x->modify("last day of this month"); $x->modify("last second"); echo $x->format("Ymd H:i:s"); // 2010-05-30 23:59:59 $timestamp = $x->getTimestamp(); 

Возможно, это можно сделать проще, но вы получите идею:

 <?php $start = mktime(0, 0, 1, $month, 1, $year); $end = mktime(23, 59, 00, $month, date('t', $month), $year); ?>