perl中time函数定义在标准库文件Time.pm中,该文件位于Perl安装目录下的lib/5.xx.xx/Time.pm,其中5.xx.xx是Perl的渣首帆版本号。
time函数用于获取系统当前时间,以秒为单位,从1970年1月1日00:00:00 UTC开始计算,返回一个整数值。该函数的原型定义如下:
sub time {
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time)
return ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
}
time函数还可以接受一个参数,用芹世于指定要获取时间的时间戳如雹,如果没有提供参数,则默认使用当前系统时间。例如:
# 获取当前系统时间
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = time()
# 获取指定时间戳的系统时间
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = time(1234567890)
1、time函数:返回从1970年1月1日起累计的秒数
使用:my $t=time()
2、 localtime函数:获取本地时区时间
使用:my $t=localtime(time())
3、gmtime函数: 获取格林威治时间
使用:my $t=gmtime(time())
得到格式化时间(以localtime函数为例):
my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time())
$sec:秒
$min:分
$hour:小时
$mday:日
$mon:月
$year:目前的年减去1990,不是仅将亮段滚19xx年的19去掉,因此不会有Y2K的困扰。
$wday:每周的日期(如Sunday是0)
$yday:每年的日期(如Jan 1是0)
$isdst:如果日光节约时间使用则是正值,其它为0。
4、POSIX 函数 strftime() 可以将时间格式化为我们想要的格式。
#!/usr/bin/perluse POSIX qw(strftime)
$datestring = strftime "%Y-%m-%d %H:%M:%S", localtime
printf("时间日期 - $datestring\n")
# GMT 格式化时间日敬余期
$datestring = strftime "%Y-%m-%d %H:%M:%S", gmtime
printf("时间日期 - $datestring\n")
得到一个小时以前的时间燃誉
perl -MPOSIX -le 'print strftime "%c", localtime(time()-3600)'
得到一天前的时间
perl -MPOSIX -le 'print strftime "%c", localtime(time()-86400)'
使携渗用 time 命纯誉令就行了
time perl -Mbignum -e 'print(2**500)'PS:
2**500 结果很大,得用 bignum 模块做隐段
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)