获取一个给定的月份和年份在PHP的开始和结束Unix的时间戳

我想find一个月的第一天(比如2010年9月1日和0:00)和一个月中的最后一天(比如说9月31日23:59)的时间戳

如果你有这些日期字符串,你可以简单地使用strtotime() ,如果你只有部分信息,你可以使用mktime() 。

但是,9月份只有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); ?>