我想找一个月第一天的时间戳(比如2010年9月1日和0:00)和一个月的最后一天(比如9月31日23:59)。
答案 0 :(得分:18)
如果您将这些日期作为字符串,则可以使用strtotime(),如果您只有部分信息,则可以使用mktime()。
然而,九月只有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);
答案 1 :(得分:4)
如果您使用的是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("Y-m-d H:i:s");
// 2010-05-30 23:59:59
$timestamp = $x->getTimestamp();
答案 2 :(得分:1)
也许它可以更简单但你明白了:
<?php
$start = mktime(0, 0, 1, $month, 1, $year);
$end = mktime(23, 59, 00, $month, date('t', $month), $year);
?>