加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl获取当前系统时间

发布时间:2020-12-16 00:07:45 所属栏目:大数据 来源:网络整理
导读:perl有两个取得时间的函数:localtime和gmtime 两个函数的用法一样,区别在于localtime为取得本地时间,gmtime格林威治时间。 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); 其中: $sec代表秒数[0,59] $min代表分数[0,59] $hour代

perl有两个取得时间的函数:localtime和gmtime

两个函数的用法一样,区别在于localtime为取得本地时间,gmtime格林威治时间。

($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从1900年算起的年数,所以要获得当前年就需要在$year的基础上加上1900
$wday从星期六算起,代表是在这周中的第几天[0-6]
$yday从一月一日算起,代表是在这年中的第几天[0,364]
$isdst只是一个flag

下面是一个获取当前系统时间的子函数:

subgetTime
{
#time()函数返回从1970年1月1日起累计秒数
my$time=shift||time();

my($sec,$isdst)=localtime($time);

$mon++;
$sec=($sec<10)?"0$sec":$sec;#秒数[0,59]
$min=($min<10)?"0$min":$min;#分数[0,59]
$hour=($hour<10)?"0$hour":$hour;#小时数[0,23]
$mday=($mday<10)?"0$mday":$mday;#这个月的第几天[1,31]
$mon=($mon<9)?"0".($mon+1):$mon;#月数[0,要将$mon加1之后,才能符合实际情况。
$year+=1900;#从1900年算起的年数

#$wday从星期六算起,代表是在这周中的第几天[0-6]
#$yday从一月一日算起,代表是在这年中的第几天[0,364]
#$isdst只是一个flag
my$weekday=('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday];
return{'second'=>$sec,
'minute'=>$min,
'hour'=>$hour,
'day'=>$mday,
'month'=>$mon,
'year'=>$year,
'weekNo'=>$wday,
'wday'=>$weekday,
'yday'=>$yday,
'date'=>"$year$mon$mday"
};
}

通过下面的方法调用:

my$date=&getTime();#获取当前系统时间的Hash
my$ymd=$date->{date};#获取yyyymmdd这样的日期
my$year=$date->{year};#获取年
my$month=$date->{month};#获取月
my$day=$date->{day};#获取日

获取时分秒类似。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读