2012-02-10 115 views
0
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')))); 
} 

是我必须得到当前的第一天的日期和最后一天的日期。在PHP中抓取特定月份的第一个日期和最后日期

现在我想改变它,所以在这两个函数中他们有一个$月的参数,其中$月份保存月我想从第一个日期和最后日期的数字。

如果我做firstOfMonth(1),我想它返回2012-01-01和lastOfMonth(1)它应该返回

例2012-01-31

我怎样才能做到这一点?

+0

可能有[如何得到一个月的第一天和最后一天](http://stackoverflow.com/questions/7541938/how-to-get-the-first-and-last-days-of-a-give-month) – deceze 2012-02-10 09:44:37

回答

0

试试这个:

$date = new DateTime('2012-02-01'); 

// first day 
echo $date->format('d-m-Y'); 

// t = days in month, minutes one to go to the last. 
$date->modify(sprintf('+%d day', $date->format('t')-1)); 

// Last day 
echo $date->format('d-m-Y'); 
0

试试这个,如果你使用的是PHP 5.3+,

$query_date = '2012-01-01'; 
$date = new DateTime($query_date); 
//First day of month 
$date->modify('first day of this month'); 
$firstday= $date->format('Y-m-d'); 
//Last day of month 
$date->modify('last day of this month'); 
$lastday= $date->format('Y-m-d'); 

为了找到下个月最后日期,修改如下,

$date->modify('last day of 1 month'); 
echo $date->format('Y-m-d'); 

依此类推。

相关问题