huangfen2002 发表于 2018-8-31 06:03:06

Perl获取当前系统时间

  perl有两个取得时间的函数:localtime和gmtime
  两个函数的用法一样,区别在于localtime为取得本地时间,gmtime格林威治时间。
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
  其中:
  $sec代表秒数
  $min代表分数
  $hour代表小时数
  $mday代表是在这个月的第几天
  $mon代表月数,要将$mon加1之后,才能符合实际情况。
  $year从1900年算起的年数,所以要获得当前年就需要在$year的基础上加上1900
  $wday从星期六算起,代表是在这周中的第几天
  $yday从一月一日算起,代表是在这年中的第几天
  $isdst只是一个flag
  下面是一个获取当前系统时间的子函数:
  subgetTime
  {
  #time()函数返回从1970年1月1日起累计秒数
  my$time=shift||time();
  my($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime($time);
  $mon++;
  $sec=($sec$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};#获取日
  获取时分秒类似。

页: [1]
查看完整版本: Perl获取当前系统时间