Timestamps of start and end of month

You can use mktime and date:

$first_minute = mktime(0, 0, 0, date("n"), 1);
$last_minute = mktime(23, 59, 59, date("n"), date("t"));

That is for the current month. If you want to have it for any month, you have change the month and day parameter accordingly.

If you want to generate it for every month, you can just loop:

$times  = array();
for($month = 1; $month <= 12; $month++) {
    $first_minute = mktime(0, 0, 0, $month, 1);
    $last_minute = mktime(23, 59, 59, $month, date('t', $first_minute));
    $times[$month] = array($first_minute, $last_minute);
}

DEMO

Leave a Comment