两大Perl时间函数的区别是什么

本篇内容介绍了“两大Perl时间函数的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Perl时间函数

Perl语言中有两个取得Perl时间函数:localtime()和gmtime()

两个函数的用法一样,区别在于localtime为取得本地时间,gmtime格林威治时间
#!/usr/bin/Perl
#getlocaltime
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);

其中:
$sec代表秒数[0,59]
$min代表分数[0,59]
$hour代表小时数[0,23]
$mday代表是在这个月的第几天[1,31]
$mon代表月数[0,11],要将$mon加1之后,才能符合实际情况。

$year从1990年算起的年数
$wday从星期六算起,代表是在这周中的第几天[0-6]
$yday从一月一日算起,代表是在这年中的第几天[0,364]
$isdst只是一个flag
知道这些变量之后,就可以在CGI应用程序中拿来应用了。此外,Perl时间函数也可以用下面这一行指令在UNIX系统下取得系统的时间。为了避免错误发生,***用绝对路径的方法来取得系统时间,如果绝对路径不清楚的话可以用”whichdata”这个指令来得知。***要提字符的话,就不能正确执行系统的程序了。$data=’/usr/bin/data’;而在Perl5版本中,也可以用下面这一行指令来取得系统时间


Perl时间函数的例子:
格式化所需要的时间变量:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
#2001年08月09日
$yyyymmddZH=sprintf("%04d年%02d月%02d日",$year+1900,$mon+1,$mday);
#2001年8月9日
$yyyymmddZH2=sprintf("%d年%d月%d日",$year+1900,$mon+1,$mday);
#2001.08.09
$yyyymmdd=sprintf("%04d.%02d.%02d",$year+1900,$mon+1,$mday);
#2001.08.09

$yyyymmdd2=sprintf("%d.%d.%d",$year+1900,$mon+1,$mday);
#13点13分02秒
$hhmmssZH=sprintf("%02d点%02d分%02d秒",$hour,$min,$sec);
#13点13分2秒
$hhmmssZH2=sprintf("%d点%d分%d秒",$hour,$min,$sec);
#13:13:02
$hhmmss=sprintf("%02d:%02d:%02d",$hour,$min,$sec);

#13:13:2
$hhmmss2=sprintf("%d:%d:%d",$hour,$min,$sec);
#周四
$weekZH=sprintf("%s",("周日","周一","周二","周三","周四","周五","周六")[$wday]);
#Thursday
$weekE=sprintf("%s",("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")[$wday]);
#Thu
$week=sprintf("%s",("Sun","Mon","Tue","Wed","Thu","Fri","Sat")[$wday]);

“两大Perl时间函数的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!