2014-02-05 5 views
-2

Я пытаюсь получить текущую дату начала месяца и текущую дату окончания месяца.Начало дня и конца дня текущего месяца и начало дня и конца дня текущего года

Это необходимо изменить для каждого месяца, так что, например, в этом месяце мне нужно:

$startMonth = 2014-02-01 
$endMonth = 2014-02-28 

Я знаю страницы PHP, но указываете ей я не могу получить мою голову вокруг него: http://uk3.php.net/mktime

мне нужно день начала и окончания день текущего года:

$startYear = 2014-01-01 
$endYear = 2014-12-31 

мне это нужно в таком формате, я могу получить предыдущие месяцы с помощью:

$previousmonthStart = date("Y-m-d", mktime(0, 0, 0, date("m"), 0, date("Y"))); 
$previousmonthEnd = date("Y-m-d", mktime(0, 0, 0, date("m")-1, 1, date("Y"))); 

Просто нужно знать, что изменит что.

+0

Не совсем, я хотел бы использовать функцию указываете ей. – andy

+2

Почему? Тогда есть лучшие способы сделать это. –

ответ

1

Поскольку вы хотите использовать mktime() ...

Я думаю, что первый день года и в последний день текущего года всегда (не mktime() требуется):

date('Y') . '01-01'; 
date('Y') . '12-31'; 

Для первый и последний из текущего месяца с mktime() попробовать это:

$m = (integer) date('n'); 
$start = date('Y-m-d',mktime(1,1,1,$m,1,date('Y'))); 
$end = date('Y-m-d',mktime(1,1,1,++$m,0,date('Y'))); 

//Considering today is 2014-02-05 
echo $start; //2014-02-01 
echo $end; //2014-02-28 

mktime хочет час, мин, сек, месяц, день , год

$m сообщает mktime, чтобы использовать текущий месяц для значения месяца, а следующий 1 сообщает ему использовать первый день этого месяца.

++$m сообщает, что он использует следующий месяц, а 0 доставит вас за день до первого дня следующего месяца, который является последним днем ​​текущего месяца.

Пример: http://codepad.org/1G7UJNni

Смежные вопросы