【发布时间】:2011-04-07 17:40:42
【问题描述】:
我想查找一个月中第一天(例如 2010 年 9 月 1 日和 0:00)和一个月中最后一天(例如 9 月 31 日 23:59)的时间戳。
【问题讨论】:
我想查找一个月中第一天(例如 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);
【讨论】:
0 找到时间戳。顺便说一句,为什么投反对票?
$last = mktime(23,59,59,$month+1,0,$year);
也许它可以做得更简单,但你明白了:
<?php
$start = mktime(0, 0, 1, $month, 1, $year);
$end = mktime(23, 59, 00, $month, date('t', $month), $year);
?>
【讨论】:
如果你使用的是 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();
【讨论】: