php - 如何使用 Carbon/Laravel 检查年份是否已过?
问题描述
在 Laravel 中,我试图检查当前日期是在任何年份的特定日期之前还是之后。客户的会计年度在 10 月 31 日结束,我无法检查今天是在此之前还是之后。
我已经尝试使用 Carbon 中的内置比较函数,但我不知道要比较什么now()
,因为所有 Carbon 实例似乎都包含特定的年份。我如何检查是否now()
在任何日历年中过了那一天?
下面的代码有效,但 usingdayOfYear()
将在闰年返回不同的值,似乎是一个糟糕的解决方案。
if (now()->dayOfYear >= 304) {
$current_year = now()->year;
} else {
$current_year = now()->year - 1;
}
now()
如果在任何一年的 10 月 31 日之后,我如何返回 true ?
解决方案
看起来您已经知道如何使用带有 Carbon 对象的 getter来查找日期片段。如果您想查看当前日期是否在 10 月 31 日之后,请多使用它们:
if (now()->month > 10) {
$current_year = now()->year;
} else {
$current_year = now()->subYear()->year;
}
推荐阅读
- r - R:每个 ID 只有最近观察的子集数据
- c# - 是否可以在一个接口的字典中访问多个接口?
- javascript - 如何在反应中集中 API 调用的错误处理(使用 Axios)
- python - 如何在 Pygame“全屏”模式下退出已停止的 Python 程序?
- php - 如何在html上的字符串输入中过滤掉两个数字
- spring-boot - SDK 不支持选定的 Java 版本 8(最多 7 个)
- java - 带有 xmlbean 绑定的 Axis2 maven 插件产生未知符号 innerType 和 addNew()
- c++ - 将 MPI_Comm 从 Fortran 传递到 C/C++ 会导致分段错误
- sql - 选择满足范围内所有日期的 where 子句的所有内容?
- c - 在嵌入式 c 中使用 printf