【发布时间】:2020-06-10 08:52:53
【问题描述】:
请看一下!
我有从 1 到 30 天的天数,所以我需要遍历天数并使用一个“for”循环为每个对应天确定一个日期,开始日期是:$epoc = 2020-05- 11;所以,我将它转换为 epoc 秒,我找到了以秒为单位的最后日期(第 30 天)。我能够像这样解决它,但我需要一个“for”循环。有可能吗?
#!/usr/bin/perl
use Time::Local;
use Time::Localtime;
$day_a1 = 1;
$day_a2 = 30;
my ($year, $month, $day) = split('-', $epoc);
$epoc = timelocal($s, $m, $h, $day, $month-1, $year-1900);
$interval=$day_a2*60*60*24;
$epoc1=$epoc+$interval;
print scalar(localtime($epoc1)), "\n";
@x1=();
@date1=();
for ($d = $day_a1; $d <= $day_a2; $d++){
push (@x1, $d);
}
for ($d = $epoc; $d <= $epoc1; $d+=86400){
print scalar(localtime($d));
push (@date1, $d);
}
print @x1;
print @date1;
【问题讨论】:
-
timelocal来自哪里? -
你的意思是一个模块?刚刚编辑
-
请添加
use strict; use warnings以查看您的脚本有多少问题。在第 #6 行,您使用未初始化的$epoc。您希望在变量中看到什么? -
感谢您的帮助,亲爱的@PolarBear。只是初始化了一些变量,并从我使用的批处理文件中获取了值,对不起,忘记在代码中提及