PHP中时间的时间范围内的日期验证

时间:2014-10-15 16:26:33

标签: php date timestamp

如何检查时间戳格式的日期字符串(exp。2014-10-02 13:31:53)是否在PHP的特定时间段内。

如:

  1. 每日时段:今天,明天,昨天,两天前,等等。
  2. 每周期:本周,下周,上周,两周前,依此类推。
  3. 每月期:本月,下个月,上个月,两个月前,依此类推。
  4. 每年期:今年,明年,去年,两年前,等等。

1 个答案:

答案 0 :(得分:0)

我建议使用DateTime类(PHP 5.2+)并使用比较运算符。例如,比较本月是否如下;

$start = new DateTime("First day of this month 00:00:00");
$end = new DateTime("Last day of this month 23:59:59");
$datetotest = new DateTime("2014-10-02 13:31:53");

if($datetotest >= $start and $datetotest <= $end) {
// do stuff
}

如果需要,您甚至可以为每个功能编写一个功能。

function isInThisMonth(DateTime $date) {
     $start = new DateTime("First day of this month 00:00:00");
     $end = new DateTime("Last day of this month 23:59:59");
     return ($date >= $start and $date <= $end);
}

if(isInThisMonth($datetotest)) // do stuff

如果您查看PHP: DateTime Relative Formats,可以了解您可以使用的说明,以获得“去年”或其他任何内容的有效DateTime

希望这有帮助。