perl学习之:localtime
Perl中localtime()函數以及sprintf (2011-4-25 19:39)localtime函數
localtime函數,根據它所在的上下文,可以用兩種完全不同的方法來運行。在標量上下文中,localtime函數返回一個格式化很好的當前時間字符串。例如,print scalar (localtime)這個代碼,它輸出的結果將類似于Thu Sep 16 23:00:06 1999。在列表上下文中,localtime將返回能夠描述當前時間的一個元素列表:
($sec,$min,$hour,$mday,$mon,$year_off,$wday,$yday,$isdat) = localtime;
字段?? 值
$sec??? 秒,0 ~ 59
$min??? 分,0 ~ 59
$hour??? 時,0 ~ 23
$mday??? 月份中的日期, 1 ~ 2 8、2 9、3 0或3 1
$mon??? 年份中的月份, 0 ~ 11(這里請特別要小心)
$year_off?? 1900年以來的年份。將1900加上這個數字,得出正確的4位數年份
$wday??? 星期幾,0 ~ 6
$yday??? 一年中的第幾天,0 ~ 364或365
$isdst??? 如果夏令時有效,則為真
不要將19附加給localtime返回的年份。它返回的年份是1900的偏移量。比如,在1999年,年份是99;在2000年中,它是100,將1999與該值相加,可以在2000年以后正確地產生年份。perl不存在2000年問題,但是,如果簡單地將19(或20)附加給該年份,就會導致程序中產生2000年問題。
my? ($sec,$min,$hour,$mday,$mon,$year) = (localtime)[0..5];
($sec,$min,$hour,$mday,$mon,$year) = (
??? sprintf("%02d", $sec),
??? sprintf("%02d", $min),
??? sprintf("%02d", $hour),
??? sprintf("%02d", $mday),
??? sprintf("%02d", $mon + 1),
??? $year + 1900
);
print "$year-$mon-$mday $hour:$min:$sec\n";
得到的結果是:2009-01-21 15:44:23
轉載于:https://www.cnblogs.com/chip/p/4287291.html
總結
以上是生活随笔為你收集整理的perl学习之:localtime的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vim自动跳转到引用的函数
- 下一篇: java雷达锁定