Perl获取当前系统时间
生活随笔
收集整理的這篇文章主要介紹了
Perl获取当前系统时间
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Perl獲取當前系統時間
Perl?2010-12-06?10:41:57?閱讀236?評論0???字號:大中小?訂閱
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
下面是一個獲取當前系統時間的子函數:
sub?getTime
{
???#time()函數返回從1970年1月1日起累計秒數
????my?$time?=?shift?||?time();
???
????my?($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$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,11],要將$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};#獲取日
獲取時分秒類似。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
Perl?2010-12-06?10:41:57?閱讀236?評論0???字號:大中小?訂閱
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
下面是一個獲取當前系統時間的子函數:
sub?getTime
{
???#time()函數返回從1970年1月1日起累計秒數
????my?$time?=?shift?||?time();
???
????my?($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$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,11],要將$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};#獲取日
獲取時分秒類似。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的Perl获取当前系统时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网贷逾期收到通告函怎么处理 网贷逾期收到
- 下一篇: Microwindows及基于Nano-