当前位置: 首页 > 知识库问答 >
问题:

如何使用碳检查日期是否在当前年份?

甄伟兆
2023-03-14

我有几个yyyy-mm-dd格式的日期,为了处理它们,我使用了碳库。

我的问题是:我如何知道当前年份中是否已经存在随机日期?

例如,今天是2018-10-19,如果我将其与一些日期进行比较,请返回以下内容:

$current = '2018-10-19';
$date1 = '2018-10-20'; return false 
$date2 = '2018-11-21'; return false
$date3 = '2018-07-07'; return true

我尝试了以下方法:

$current = Carbon::now();
$date_1 = Carbon::parse('2018-07-21');

if($current > $date_1)
{
    echo 'The date was in the current year';
}

我的问题是,我不知道如何应用此条件仅在当前年份中查找日期,因为如果我将当前日期与前一年的日期进行比较,它仍然返回true。我怎样才能做到这一点?非常感谢。

共有3个答案

家志学
2023-03-14

为了更容易阅读,您可以将Carbon的between()/isBetween()方法与startOfYear()结合使用:

php prettyprint-override">$date = Carbon::parse('2018-10-19');

if ($date->isBetween(
    Carbon::now()->startOfYear(),
    Carbon::now()
)) {
    echo 'The date was in the current year';
}
西门胜涝
2023-03-14
$current = Carbon::now();
$date_1 = Carbon::parse('2018-07-21');

if($current > $date_1 && $current->year === $date_1->year)
{
    echo 'The date was in the current year';
}

把年龄和你的情况进行比较。

杨无尘
2023-03-14

你需要仔细看看文档。您可以使用equalTo函数轻松比较日期。一个例子:

$first = Carbon::create(2012, 9, 5, 23, 26, 11);
$second = Carbon::create(2012, 9, 5, 20, 26, 11, 'America/Vancouver');

var_dump($first->equalTo($second));                // bool(false)
var_dump($first->notEqualTo($second));             // bool(true)

该示例和更多内容也列在留档中。

 类似资料:
  • 问题内容: 我想通过将NSDate与当前日期进行比较来检查NSDate是否在之前(过去)。我该怎么做? 谢谢 问题答案: 我找到了方法。 您也有方法。 迅速3到迅速5:

  • 我正在进行JavaScript验证,验证文本框的日期是否等于当前日期。 如果大于或等于今天的日期,则显示错误消息。 注意:在我的中,我已将日期转换为格式。所以我需要检查date与格式的当前日期。这是我的代码: 我需要使用日期的格式来检查我的文本框中的日期,因此我今天的值只能使用日期的格式。

  • 我有两个约会。 我如何检查一个日期是否比另一个日期大? 我试过这个: 但它不起作用=( 这种dd/mm/yyyy格式有方法吗?

  • 问题内容: 我有一栏的格式 我想检查是否在当前月份。 到目前为止,我有: 但我需要它与当前月份配合使用,而不是硬编码 问题答案: 但我也将当前日期保存在变量中,以保证在午夜执行长查询时结果不会改变

  • 问题内容: 我正在构建一种日历Web应用程序 我已经在HTML中设置了以下表格 然后,来自用户的输入将被提交到小服务器中 我想知道,有没有办法检查用户输入的日期是否是有效日期? 显然,我可以编写很多if语句,但是是否有任何内置函数可以检查这一点? 谢谢 问题答案: 你可以尝试做 这将消除诸如> 12,小时> 23,不存在的leap日等问题(在不month年,month = 2的最大值为28,否则为