perl - 使用 DateTime 计算日期之间的天数
问题描述
我使用 DateTime 对象有 2 个日期,并且在尝试仅使用 delta_days 获得天数差异时,它无法正常工作。我以为它会给我总天数,但看起来它不包括几个月的天数。
use DateTime;
use DateTime::Format::Strptime;
use DateTime::Format::Duration;
my $parseseq = DateTime::Format::Strptime->new(pattern => '%Y%m%d');
my $todaydate = "20190326";
my $lastdate = "20190223";
my $currmark = $parseseq->parse_datetime($todaydate);
$currmark->set_formatter($parseseq);
my $lastmark = $parseseq->parse_datetime($lastdate);
$lastmark->set_formatter($parseseq);
my $diff = $currmark->subtract_datetime($lastmark);
my $diffdays = $diff->delta_days();
print "\ntodaydate $todaydate\n";
print "lastdate $lastdate\n";
print "Diff Days $diffdays\n\n";
输出:
todaydate 20190326
lastdate 20190223
Diff Days 3
解决方案
推荐阅读
- sql - 3 表连接的 MS Access VB SQL 语法
- c++ - 如何制作一个打印到任何输出流的通用函数?
- ios - Podfile 包含框架或静态库目标(UnityFramework),Podfile 不包含主机目标
- google-data-studio - 按报告用户将条形图粒度更改为天/月/周
- javascript - 如何播放系统媒体声音
- javascript - 在另一个 ScrollView 上反应 Native ScrollView
- sql - 交叉表 Postgres 和 PHP 准备好的语句
- mlr3 - 如何修复 PipeOP 的状态?
- angular - ngrxOnRunEffects 方法停止效果调度其他效果
- thymeleaf - Thymeleaf 并替换为 html 实体