首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期是否在范围内

日期是否在范围内
EN

Stack Overflow用户
提问于 2015-04-19 00:18:11
回答 2查看 112关注 0票数 0

我正在尝试检查用户提交日期是否在范围内。

代码语言:javascript
复制
<?php
$datesyntx = "/^(19|20)\d\d[\-\/.](0[1-9]|1[012])[\-\/.](0[1-9]|[12][0-9]|3[01])$/";
$paydate = "2015-03-01";
if (preg_match($datesyntx, $paydate)) {
    if(strtotime($paydate) > strtotime('2015-04-23') && strtotime($paydate) < strtotime('2015-07-23')) {
 }
}
?>

这并不是我真正想要的效果。

EN

回答 2

Stack Overflow用户

发布于 2015-04-19 00:32:26

尝试以下代码:

代码语言:javascript
复制
$paydate   = date('2015-03-01');

$DateBegin = date('2010-01-01');
$DateEnd   = date('2016-01-01');

if (($paydate > $DateBegin) && ($paydate < $DateEnd))
{
  echo "is between";
}
else
{
  echo "not between!";  
}

附言:这个问题在stackoverflow:PHP check if date between two dates EDIT2:easy way上已经回答过了。

票数 0
EN

Stack Overflow用户

发布于 2015-04-19 00:39:51

在这种情况下不需要使用regex,使用简单的DateTime类来检查用户提交的日期是否在范围内,或者not.you也可以使用典型的strtotime()来完成这项工作。但是DateTime类将会对此非常有趣。

代码语言:javascript
复制
<?php
$userSubmitted = new DateTime("2015-04-01");
$startDate=new DateTime("2014-02-01 20:20:00");
$endDate=new DateTime("2015-04-30 23:50:11");
if ($userSubmitted > $startDate  && $userSubmitted < $endDate)
{
    return true;  #date is within the range of yours
}

return false;  #date not within the range of yours
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29719782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档