使用Perl如何判断当前日期是星期几?

使用Perl如何判断当前日期是星期几?,第1张

把下面这段代码保存下来,经常都需要的:

my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday)=localtime(time)

$mon++

$year+=1900

你要判断星期一的方法简单,在上面的语句段之后加上这一句就行:

exit if ($wday!=1)

你的第二个问拿巧题首先给你个建议,把要把yyyymmdd.txt的所有文件放在一个目录下,这样这个目录下的文件会太多, *** 作系统对文件是顺序查找,这伍搜样性能会很低下,建议把文件分开保存在不同的目录的下,我一般是按年度建立一级目录,按星期建立二级目录,具体文件放在“年度\星期\”目录下。全年中第几个星期的值这样判断:int(($yday-1)/7)+1

如果你采纳了我的建议,自然消橘键就是判断某个目录下的所有文件,不需要核对名字了。

楼上那位的逻辑不正确,正确的方法如下:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time)

$num = $yday + 1# 因为$yday是从0开始计算,加数粗上1,就是从1开芹饥始数数的了

if ($num % 7 == 0) {

$result = $num / 7

} else {

$result = int($num / 7 + 1)

}

print $result

必须对是否可薯首镇以对7整除作分别处理,理由如下:

$ cat a.pl

#!/usr/bin/env perl

for ($i = 1$i <100$i++) {

if ($i % 7 == 0) {

$num = $i / 7

} else {

$num = int($i / 7 + 1)

}

printf "%02d:%02d\n", $i, $num

}

$ ./a.pl

01:01

02:01

03:01

04:01

05:01

06:01

07:01

08:02

09:02

10:02

11:02

12:02

13:02

14:02

15:03

16:03

17:03

18:03

19:03

20:03

21:03

22:04

23:04

24:04

25:04

26:04

27:04

28:04

29:05

30:05

31:05

32:05

33:05

34:05

35:05

36:06

37:06

38:06

39:06

40:06

41:06

42:06

43:07

44:07

... 后面太长省略了,你自己运行一下就知道了

从上面小测试程序可知,这样来处理才是正确的逻辑


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12335603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存