• Perl 获取当前系统时间


    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};#获取日


    获取时分秒类似。

  • 相关阅读:
    转 JQuery 爱好者们的福音:jQuery EasyUI 开源插件套装 完全替代ExtJS 武胜
    转 自己做的C#版ILMerge,可将所有引用的DLL和exe文件打成一个exe文件,有图解 武胜
    关于文件结束符EOF feof 区别
    OpenLDAP中文版帮助文件(转)
    文件结束符EOF .
    VMware中Linux系统网络配置
    Python 字符串格式化输出(format/printf)
    李彦宏创业12年解读:企业家精神改变工程师命运
    gcc命令行详解
    如何成为一名 Google 软件工程师?
  • 原文地址:https://www.cnblogs.com/hjj404/p/7992254.html
Copyright © 2020-2023  润新知