Perl Datetime减法问题
发布时间:2020-12-16 06:25:06 所属栏目:大数据 来源:网络整理
导读:通过从彼此中减去两个日期时间对象,我遇到了一些问题.我使用以下代码: $today = DateTime-now( time_zone = 'Europe/Berlin' ); my $dt1 = DateTime- new ( year = 2011,month = 08,day = 08,hour = 1,minute = 0,second = 4,time_zone ='Europe/Berlin' );
通过从彼此中减去两个日期时间对象,我遇到了一些问题.我使用以下代码:
$today = DateTime->now( time_zone => 'Europe/Berlin' ); my $dt1 = DateTime-> new ( year => 2011,month => 08,day => 08,hour => 1,minute => 0,second => 4,time_zone =>'Europe/Berlin' ); print "DT1 : $dt1n"; print "today: $todayn"; my $sub = $today->subtract_datetime($dt1); print "sub days: ".$sub->days."n"; DT1的打印声明今天打印: DT1 : 2011-08-08T01:00:04 today: 2011-08-16T08:34:10 但是,如果我在减法后打印$sub-> days值,则显示1而不是8天. 我的减法中有错误吗? 非常感谢您的帮助. 解决方法
DateTime :: Duration不能像你(和我)预期的那样工作.检查$sub的所有字段:
DT1 : 2011-08-08T01:00:04 today: 2011-08-16T09:02:11 $sub->years: 0 $sub->months: 0 $sub->weeks: 1 $sub->days: 1 $sub->hours: 8 $sub->minutes: 2 $sub->seconds: 7 两个日期之间的差异是1周1天,预计8天. 如果您想要天数差异,请尝试$today-> delta_days($dt1). delta_days()方法返回的持续时间仅包含天数(编辑)和周数,但不包含月数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |