- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 php DateTime 对象创建一个显示去年、今年和下一年的保管箱。
在我当前的代码中,我创建了三个对象,并且必须对其中的两个对象调用一个方法。这似乎对资源有点沉重。
$today = new DateTime();
$last_year=new DateTime();
$last_year->sub(new DateInterval('P1Y'));
$next_year = new DateTime();
$next_year->add(new DateInterval('P1Y'));
echo date_format($last_year, 'Y').' '.date_format($today, 'Y').' '.date_format($next_year, 'Y');
另一种我发现只使用一个对象的方法是
$today = new DateTime();
echo date_format($today->sub(new DateInterval('P1Y')), 'Y').' '.date_format($today->add(new DateInterval('P1Y')), 'Y').' '.date_format($today->add(new DateInterval('P1Y')), 'Y');
但这会变得非常困惑。有人可以告诉我使用 DateTime()
执行此操作的更好方法吗?因为我几个月都需要类似的东西?
最佳答案
根据您的 PHP 版本 (>= 5.4),您可以像这样整理它:-
$today = new DateTime();
$last_year=(new DateTime())->sub(new DateInterval('P1Y'));
$next_year = (new DateTime())->add(new DateInterval('P1Y'));
echo $last_year->format('Y').' '.$today->format('Y').' '.$next_year->format('Y');
一个更具可读性和简洁性的选择可能是使用 \DateTimeImmutable
。
$today = new DateTimeImmutable();
$one_year = new DateInterval('P1Y');
$last_year = $today->sub($one_year);
$next_year = $today->add($one_year);
echo $last_year->format('Y').' '.$today->format('Y').' '.$next_year->format('Y');
除此之外,这一切看起来都很好。在需要时担心优化。
关于php - 去年,今年,明年用 php DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20877325/
所以,我正在尝试为一个项目做一些统计。我正在尝试将今年 pr 月的数据与去年同月的数据进行比较。 我现在最好的就是这个 SELECT COUNT(tappe_id) FROM tappesesjon
MySQL week()函数中有模式,可以定义 "Week 1 is the first week with 4 or more days this year". https://dev.mysql.
我想将 Copyright @ 'current_year' 添加到我页面的页脚(在 cshtml 文件中)。我经常使用 javascript 来实现,但由于我使用的是 ASP.NET MVC 3,所
我正在尝试使用 php DateTime 对象创建一个显示去年、今年和下一年的保管箱。 在我当前的代码中,我创建了三个对象,并且必须对其中的两个对象调用一个方法。这似乎对资源有点沉重。 $today
我确定我不是第一个需要这样做的人,所以我正在寻找最好的方法。 我有一组带有选项的单选按钮,例如 今年 去年 这个月 上个月 本周 上周 我需要从当前日期 (DateTime.Now) 生成正确的相对日
华米科技在今天下午举办的 Beyond GT Amazfit 2020 秋季新品发布会上,公布了该公司此前发布的曲面屏概念手表信息,Amazfit X 曲面屏手表将于今年 Q4 上市发售,价格为 1
对于一条可能相当简单的 SQL 语句,我遇到了一些问题 - 不幸的是,我的技能还没有达到这个程度,而且我无法理解它! 例如,我有下表: 预订记录 客户 预订记录可能有一个客户的多个预订,它们通过“la
我是一名优秀的程序员,十分优秀!