zoukankan      html  css  js  c++  java
  • Perl 时间函数

    Perl中两种时间格式:

    print time(),"\n";    #取得系统时间

    print join(",",gmtime()),"\n";    #格林尼治时间

    print join(",",localtime()),"\n";    #本地时间

    1311076590

    30,56,11,19,6,111,2,199,0

    30,56,19,19,6,111,2,199,0

    30秒,56分,19时,19日,7月,2011年,星期二,一年的第199天,夏令时无效

    令:

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

    $sec     秒,0-59

    $min     分,0-59

    $hour   时,0-23

    $day  月份中的日期,1-28,29,30,31

    $mon  年份中的月份,0-11

    $year  1900年以来的年份,年份加上1900,得出正确的4位数年的年份,

    $wday  星期几,0-6,0表示周日

    $yday  一年中的第几天,0-364,365

    $isdst  如果夏令时有效,则为真

    ($week,$mon,$day,$ht,$year)=split(" ",localtime(time()));

     Tue Jul 19 19:56:30 2011

    $week 星期缩写

    $mon 月份缩写

    $day  日期

    $ht    时间(00:00:00)

    $year 年

    time()取得系统时间,例如:1311076590

    gmtime()与localtime()默认调用参数time().

    gmtime()=gmtime(time());

    localtime()=localtime(time());

    时间的计算

    一天以前

    $then=time()-1*86400;

    三小时间前

    $then=time()-3*3600;

    40分钟后

    $then=time()+40*60;

    示例:

    ($week,$mon,$day,$ht,$year)=split(" ",time());

    @months{qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)}=split(",","01,02,03,04,05,06,07,08,09,10,11,12");

    @week{qw(Sun Mon Tues Wed Thur Fri Sat)}=split(" ","日 一 二 三 四 五 六");

    $mon=$months{$mon};

    $week=$week{$week};

    print "现在是$year年$mon月$day日$ht,星期$week\n";

    $then=time()-3*3600;

    $then=localtime($then);

    {

    my ($week,$mon,$day,$ht,$year)=split(" ",$then);

    $then=$year."-".$months{$mon}."-".$day." ".$ht;

       #$then=sprintf("%04d-%02d-%02d %s",%year,$months{$mon},%day,$ht);

       #my $format_time=sprintf("%d-%d-%d %d:%d:%d",$year+1990,$mon+1,$mday,$hour,$min,$sec);

    }

    print "三小时以前是$then\n";

    示例:

    #!/usr/bin/perl
    
    print time(),"\n";
    print gmtime(),"\n";
    print localtime(time()),"\n";
    
    print join(",",gmtime()),"\n";
    print join(",",localtime(time())),"\n";
    
    ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst)=localtime(time());
    $year+=1900;
    $mon+=1;
    print "time is $year,month is $mon,day is $day\n";
    print "hour is $hour,minutes is $min,second is $sec\n";
    
    
    $now=time();
    $then=$now-3600-$now%3600;
    $start_time=$now-3600-$now%3600;
    $now=localtime($now);
    $then=localtime($then);
    print "now is $now\n";
    print "then is $then\n";
    ($week,$mon,$day,$ht,$year)=split(" ",$now);
    @months{qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)}=split(",","01,02,03,04,05,06,07,08,09,10,11,12");
    @week{qw(Sun Mon Tues Wed Thur Fri Sat)}=split(" ","日 一 二 三 四 五 六");
    $mon=$months{$mon};
    $week=$week{$week};
    print "now is $year年$mon月$day日$ht,星期$week\n";
    
    
    print "------------------------------------\n";
    $now=time();
    print "now is $now\n";
    $now=$now-3600*10;
    $start_time=$now-3600-$now%3600;
    $end_time=$now-$now%3600;
    $start_time=localtime($start_time);
    {
    	my ($week,$mon,$day,$ht,$year)=split(" ",$start_time);
    	$start_time=$year."-".$months{$mon}."-".$day." ".$ht;
    }
    $end_time=localtime($end_time);
    {
    	my ($week,$mon,$day,$ht,$year)=split(" ",$end_time);
    	$end_time=$year."-".$months{$mon}."-".$day." ".$ht;
    }
    print "start is $start_time\n";
    print "end id $end_time\n";
    
  • 相关阅读:
    Linq聚合操作之Aggregate,Count,Sum,Distinct源码分析
    Linq分区操作之Skip,SkipWhile,Take,TakeWhile源码分析
    Linq生成操作之DefautIfEmpty,Empty,Range,Repeat源码分析
    Linq基础操作之Select,Where,OrderBy,ThenBy源码分析
    PAT 1152 Google Recruitment
    PAT 1092 To Buy or Not to Buy
    PAT 1081 Rational Sum
    PAT 1084 Broken Keyboard
    PAT 1077 Kuchiguse
    PAT 1073 Scientific Notation
  • 原文地址:https://www.cnblogs.com/zjking99/p/2111022.html
Copyright © 2011-2022 走看看