大佬教程收集整理的这篇文章主要介绍了Perl:通过转换为秒来计算天数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#!/usr/bin/perl use warnings; use Strict; use POSIX qw(strftimE); use Date::Parse; my $minDate = "2016-03-27"; my $maxDate = "2016-06-15"; print "Format as extracted from db: mindate: $minDate and maxdate: $maxDate\n"; my ($dbYear,$dbMonth,$dbDay) = split ('-',$minDatE); my $datum = "$dbYear$dbMonth$dbDay"; my $minDateSec = str2time($datum); ($dbYear,$maxDatE); $datum = "$dbYear$dbMonth$dbDay"; my $maxDateSec = str2time($datum); my $numCalDaysSec = ($maxDateSec-$minDateSeC)/86400; print "Min date in Seconds: $minDateSec\n"; print "Max date in Seconds: $maxDateSec\n"; print "Num days: $numCalDaysSec\n";
最初,我认为这种方法为我提供了可靠的结果:
bash-3.2$./testNumDays.pl As extracted from db: mindate: 2016-06-14 and maxdate: 2016-06-15 Min date in Seconds: 1465855200 Max date in Seconds: 1465941600 Num days: 1 bash-3.2$./testNumDays.pl As extracted from db: mindate: 2016-05-31 and maxdate: 2016-06-15 Min date in Seconds: 1464645600 Max date in Seconds: 1465941600 Num days: 15 bash-3.2$./testNumDays.pl As extracted from db: mindate: 2016-03-28 and maxdate: 2016-06-15 Min date in Seconds: 1459116000 Max date in Seconds: 1465941600 Num days: 79 bash-3.2$./testNumDays.pl As extracted from db: mindate: 2016-03-27 and maxdate: 2016-06-15 Min date in Seconds: 1459033200 Max date in Seconds: 1465941600 Num days: 79.9583333333333 bash-3.2$
显然,日期之间的日历日期数应该是整数.嗯,我做错了什么?为什么转换为秒不可靠?
由于我是一个Perl新手,我可能会忽略这一点.因此,非常欢迎任何帮助.
use warnings; use Strict; use Time::Piece qw(); my $t1 = Time::Piece->strptime('2016-03-27','%Y-%m-%d'); my $t2 = Time::Piece->strptime('2016-06-15','%Y-%m-%d'); my $seconds = $t2 - $t1; print $seconds->days(),"\n"; __END__ 80
以上是大佬教程为你收集整理的Perl:通过转换为秒来计算天数全部内容,希望文章能够帮你解决Perl:通过转换为秒来计算天数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。