【发布时间】:2013-01-20 07:09:01
【问题描述】:
我想在 perl 脚本中显示最近 3 个月的星期日
例如,假设今天是 2013 年 1 月 20 日星期日,从现在开始的最后 3 个月的星期日
2013-01-20
.
.
2013-01-06
.
.
2012-12-30
2012-12-02
.
.
2012-11-25
.
.
2012-11-04
它应该根据当前日期和时间更改最近 3 个月的星期日
在 linux 的 ksh 脚本中需要同样的东西
提前致谢。
这是代码..它是在上周日给的..但我需要最后 3 个月的周日
#!/usr/bin/perl
$today = date(time);
$weekend = date2(time);
sub date {
my($time) = @_;
@when = localtime($time);
$dow=$when[6];
$when[5]+=1900;
$when[4]++;
$date = $when[5] . "-" . $when[4] . "-" . $when[3];
return $date;
}
sub date2 {
my($time) = @_; # incoming parameters
$offset = 0;
$offset = 60*60*24*$dow;
@when = localtime($time - $offset);
$when[5]+=1900;
$when[4]++;
$date = $when[5] . "-" . $when[4] . "-" . $when[3];
return $date;
}
print "$weekend \n";
谢谢!!
【问题讨论】:
-
一旦您尽力而为并完全陷入困境,我们将很乐意帮助您完成编程,但 Stack Overflow 并不是一个免费提供编程工作的网站。如果您展示您的代码并解释问题,我们将很乐意提供帮助。
-
你似乎已经完成了困难的部分。只需以秒为单位继续减去 7 天,您将获得尽可能多的以前的星期日。
-
过去 3 个月的星期日*是什么意思?您是指最后十二个星期日,还是从前第三个月的同一天开始的所有星期日,或者从前第三个月开始的所有星期日,或者从九十天前开始的所有星期日,还是别的什么?
-
@Borodin:从例子中,第三个