Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 为什么在8:30增加6天半小时到午夜?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
此示例采用基准日期并添加7½小时,1天7½小时,2天7½小时等等. @H_616_2@use Date::Manip; use datetiR_574_11845@e; use datetiR_574_11845@e::Format::DateManip; Date::Manip::Date_Init("TZ=America/New_York","Language=English"); my $otime = datetiR_574_11845@e->new( year => 2013,month => 3,day => 4,hour => 0,minute => 0,second => 0,time_zone => 'America/New_York',); my $t1 = UnixDate($otime,"%i:%M %p on %A,%B %e,%Y "); print "original $t1\n"; for (my $i = 0; $i <= 20; $i++) { my $dtw = $otime->clone(); $dtw->add( minutes => (15) * 30,days => ($i),); $t1 = UnixDate($dtw,%Y "); print "$i days $t1\n"; }

当添加6天7½小时时,结果包含额外的小时.

@H_616_2@original 12:00 AM on Monday,March 04,2013 0 days 07:30 AM on Monday,2013 1 days 07:30 AM on Tuesday,March 05,2013 2 days 07:30 AM on Wednesday,March 06,2013 3 days 07:30 AM on Thursday,March 07,2013 4 days 07:30 AM on Friday,March 08,2013 5 days 07:30 AM on Saturday,March 09,2013 6 days 08:30 AM on Sunday,March 10,2013 # why 8:30 and not 7:30? 7 days 07:30 AM on Monday,March 11,2013 8 days 07:30 AM on Tuesday,March 12,2013 9 days 07:30 AM on Wednesday,March 13,2013 10 days 07:30 AM on Thursday,March 14,2013 11 days 07:30 AM on Friday,March 15,2013 12 days 07:30 AM on Saturday,March 16,2013 13 days 07:30 AM on Sunday,March 17,2013 14 days 07:30 AM on Monday,March 18,2013 15 days 07:30 AM on Tuesday,March 19,2013 16 days 07:30 AM on Wednesday,March 20,2013 17 days 07:30 AM on Thursday,March 21,2013 18 days 07:30 AM on Friday,March 22,2013 19 days 07:30 AM on Saturday,March 23,2013 20 days 07:30 AM on Sunday,March 24,2013

解决方法

因为夏令时开始于2013年3月10日在America / New_York时区. DateTime首先增加$i天(3月10日午夜)然后增加450分钟到达8:30 AM(因为3月10日凌晨1点59分之前的分钟是凌晨3点).要添加的参数顺序没有意义;见 Adding a Duration to a Datetime.

因为它增加了几天和几天分开处理(并处理第一天),效果仅发生在DST实际开始或结束的日期.如果你想要一个特定的时间,只需直接设置它而不是使用add.或者调用添加两次,一次添加分钟,然后再添加几天.

大佬总结

以上是大佬教程为你收集整理的perl – 为什么在8:30增加6天半小时到午夜?全部内容,希望文章能够帮你解决perl – 为什么在8:30增加6天半小时到午夜?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。