Самый простой способ - использовать date
, который позволяет смешивать жестко закодированные значения со значениями, извлеченными из отметки времени. Если вы не указали метку времени, она предполагает текущую дату и время.
// Current timestamp is assumed, so these find first and last day of THIS month
$first_day_this_month = date('m-01-Y'); // hard-coded '01' for first day
$last_day_this_month = date('m-t-Y');
// With timestamp, this gets last day of April 2010
$last_day_april_2010 = date('m-t-Y', strtotime('April 21, 2010'));
date()
ищет заданную строку, например 'm-t-Y'
, для поиска определенных символов, и заменяет их значениями из своей временной метки. Таким образом, мы можем использовать эти символы для извлечения значений и форматирования, которые мы хотим из отметки времени. В приведенных выше примерах:
Y
дает вам четырехзначный год из отметки времени ('2010')
m
дает вам числовой месяц из отметки времени с ведущим нулем ('04')
t
дает вам количество дней в месяце метки времени ('30')
Вы можете быть творческим с этим. Например, чтобы получить первую и последнюю секунду месяца:
$timestamp = strtotime('February 2012');
$first_second = date('m-01-Y 00:00:00', $timestamp);
$last_second = date('m-t-Y 12:59:59', $timestamp); // A leap year!
См. http://php.net/manual/en/function.date.php для других символов и более подробной информации.