perl学习笔记10_时间处理

发布时间 2023-07-17 11:35:08作者: 编程驴子

处理时间

1. localtime

localtime,将时间戳转换为可读的时间。
如果没有参数,转换为当前时间。

# 赋值给标量,得到一个适合人读的字符串。
# 返回Mon Oct 28 10:09:15 2013。
my $local = localtime ; 
                        

# 赋值给数组:
#   [0], 秒,
#   [1], 分,
#   [2], 小时,
#   [3], 日期,
#   [4], 月-1,
#   [5], 年-1900;
#   [6], 星期几, 0代表星期天;
#   [7], 今天是今年的第几天,1月1日是第0天;
#   [8], ??
#如果是2023年7月17日星期一, 10:45:52, 返回(52 45 10 17 6 123 1 197 0)
my @local = localtime;

#如果函数带参数,这个参数是时间戳。将时间戳转换为可读的时间。
my $a = localtime 1382926155;
my @a = localtime 1382926155;
print $a ; #返回 Mon Oct 28 10:09:15 2013
print "@a"; #返回15 9 10 28 9 113 1 300 0

2. Time::Local

timelocal函数与localtime函数功能相反,将可读的时间,转换为时间戳。

use Time::Local;

my $sec  = 15   ;
my $min  = 9    ;
my $hour = 10   ;
my $mday = 28   ;
my $mon  = 10   ;
my $year = 2013 ;

my $timelocal = timelocal($sec,$min,$hour,$mday,$mon-1,$year-1900); #返回1382926155
print " $year-$mon-$mday $hour:$min:$sec => $timelocal\n"; #2013-10-28 10:9:15 => 1382926155