localtime 与 gtime 函数

localtime

perl下time函数会返回一个十位的时间戳,精确到秒,看起来像这个样子(1180630098)。这个数字是从1900年到当前时间的秒数。但你并看不出是什么意思。所以需要转换形式,转换成‘Thu May 31 09:48:18 2007’这样的字符串。Perl可以在标量上下文中使用localtime函数完成这种转换。

my $timeswap=1180630098;
my $date=localtime $timeswap;

在列表下文中,localtime会返回一个数字元素组成的列表:

my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst)=localtime $timestamp;

列表中各元素的含义如下:

  1. $mon 月份,取值0~11,用于表示从1月到12月。
  2. $year 从1900年开始计算,将该值加上1900就是实际的年份;
  3. $wday 本周的第几天,取值0~6,用于表示周日到周六 ;
  4. $yday 表示目前是今年的第几天,0(1月1号)~364或者365;
  5. $sec 秒,当前分钟的第多少秒,取值0~59;
  6. $min 分,当前小时的第多少分钟,取值0~59;
  7. $hour 时,今天的第多少个小时,取值0~23;
  8. $day 日,当前月的第多少天,取值0~29或30;
  9. isdst 如果指定的时间在夏令时期间,则为true,否则为false。

注:默认情况(不传参时)下使用time函数的返回值作为参数:

gtime

gtime函数与localtime函数一样,但返回的值为本地化的格林尼治标准时区(GMT)时间。

默认情况(不传参时)下使用time函数的返回值作为参数:

my $now=gmtime;#取得当前时间的格林尼治标准时区(GMT)时间。

注意:在列表上下文中调用时,$ isdst,gmtime返回的最后一个值始终是0 。GMT没有夏令时。

    原文作者:JSON_NULL
    原文地址: https://www.jianshu.com/p/c71bfcd6e4cc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞