码迷,mamicode.com
首页 > 其他好文 > 详细

Perl的time、localtime和gmtime函数

时间:2018-09-09 00:39:05      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:本地   code   perl   统一   上下   属性   mon   一个   决定   

  • time用于返回当前时间点,但返回结果是以从1970年1月1日(纪元由操作系统决定,但unix系统一般都是1970年1月1日)距离现在的秒数表示的
  • localtime用于返回给定时间的秒、分、时、日、月、周、年等9个部分的时间属性
  • gmtime和localtime类似,但是返回的UTC时间
print time,"\n";

localtime在列表上下文返回的是各个时间部分,在标量上下文返回的是一个本地格式的时间值。

[root@xuexi perlapp]# perl -e '$a=localtime;print $a,"\n";' 
Sat Sep  8 09:03:56 2018

以下是localtime在列表上下文返回的各个时间部分:

#  0    1    2     3     4    5     6     7     8
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);

其中:

  • sec:秒
  • min:分
  • hour:时
  • mday:日,即当月的第几天
  • mon:月份,值为0-11,0表示1月,11表示12月,如此表示的好处后面解释
  • year:年,返回从1900年开始的整数值,如果要返回4位数的年份,将其加上1900即可
  • wday:周几,值为0-6,0是周日,1是周一,6是周六
  • yday:一年的第几天,值为0-364或0-365
  • isdst:是否是夏令时

例如:

use 5.010;

@time=localtime;

say qq(second  : $time[0]);
say qq(minute  : $time[1]);
say qq(hour    : $time[2]);
say qq(mon_day : $time[3]);
say qq(month   : $time[4]);
say qq(year    : $time[5]);
say qq(week_day: $time[6]);
say qq(year_day: $time[7]);
say qq(isdst   : $time[8]);

输出结果为:

second  : 42
minute  : 10
hour    : 9
mon_day : 8
month   : 8
year    : 118
week_day: 6
year_day: 250
isdst   : 0

之所以用0表示1月份,11表示12月份,是为了让月份数值和偏移对应。例如,偏移0位表示1月。

my @month = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
print "$month[$mon]"

Perl的time、localtime和gmtime函数

标签:本地   code   perl   统一   上下   属性   mon   一个   决定   

原文地址:https://www.cnblogs.com/f-ck-need-u/p/9611098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!