`

perl函数"timelocal"和"timegm"的区别

    博客分类:
  • Perl
 
阅读更多
 #!/usr/bin/perl
 use warnings;
 use strict;
 use Time::Local;
 
 ## [11/Jun/2012:23:12:03 +0800] -> 12345667 -> 2012-06-11 23:12:03
 
 my %monhash = ("Jan"=>1,"Feb"=>2,"Mar"=>3,"Apr"=>4,"May"=>5,"Jun"=>6,"Jul"=>7,"Aug"=>8,"Sep"=>9,"Oct"=>10,"Nov"=>11,"Dec"=>12);
 sub to_Stand_time {
         my $str = shift @_;
         my ($sec, $min, $hour, $day, $mon, $year, $wday, $yday, $isdst) = localtime($str);
         $year = 1900 + $year;
         $mon = $mon + 1;
         return sprintf("%s-%02d-%02d %02d:%02d:%02d",$year,$mon,$day,$hour,$min,$sec);
 }
 while(<>){
         chomp;
         if(m|^\[(\d+)/(\w+)/(\d+):(\d+):(\d+):(\d+)\s+\+\d+\]$|){
                 my($d,$m,$y,$h,$mm,$s)=($1,$2,$3,$4,$5,$6);
                 $m = $monhash{$m};
                 my $ud = Time::Local::timelocal($s,$mm,$h,$d,$m-1,$y-1900);
                 my $dt = to_Stand_time($ud);
                 print STDERR "$_ -> $ud -> $dt\n";
         }
 }

 

分享到:
评论

相关推荐

    perl一般代码

    perl一般代码

    C语言中的Time函数

    在C语言中,时间函数是处理时间和日期的关键工具,它们为程序员提供了获取当前时间、进行时间转换以及格式化时间的能力。下面将详细解析C语言中与时间相关的几个关键知识点。 ### 1. 时间函数概述 #### 1.1 `time...

    NTP 闰秒测试结果说明

    在脚本中,我们使用了 timegm 函数来生成闰秒日期,并使用 substr 函数来修改 NTP 服务器的时间戳。 七、NTP 服务器的测试 NTP 服务器的测试包括了服务器的启动、客户端的连接、数据的传输等内容。在脚本中,我们...

    程序运行时间

    计算程序运行时间, #include #include&lt;windows.h&gt; void main() { int i,j; int a=0;

    C++ 获取代码运行时间的各种方法.docx

    `timegm` 函数将 `struct tm` 结构体转换为 `time_t` 类型,但不使用时区信息。这个函数通常在处理时间戳时使用。 在实际开发中,根据具体需求选择合适的方法来获取代码运行时间。如果需要精确的CPU时间,`clock()`...

    C++ 获取代码运行时间的各种方法.pdf

    此外,`timegm` 函数用于将 `struct tm` 结构转换为 `time_t`,但不考虑时区信息,通常与 `&lt;ctime&gt;` 或 `&lt;time.h&gt;` 一起使用。 总结来说,获取C++代码运行时间的方法包括使用 `GetTickCount`、`clock()`、`CTime` ...

    canlendar用于年月日选择的日历

    1. **月份和星期的打印**:`calendar.month(year, month)`函数可以用来打印指定年份和月份的日历,而`calendar.weekday(year, month, day)`则返回指定日期的星期几(0表示周一,6表示周日)。 2. **日历属性获取**...

    python utc datetime转换为时间戳的方法

    `calendar.timegm()`是专门为处理UTC时间而设计的,它接受一个与`time.localtime()`函数类似的元组作为参数,并返回该时间对应的UTC时间戳。为了将`datetime`对象转换为元组,我们需要调用其`timetuple()`方法。以下...

    QDateEditEx:一个Qt QDateEdit小部件,它也可以处理空值

    在Qt库中,QDateEdit是一个非常常用的控件,用于显示和编辑日期。然而,标准的QDateEdit小部件并不支持“空值”或“无值”状态,即用户可以清空日期输入,但控件内部仍然会保存一个默认日期(通常是当前日期)。这在...

    关于Linux下时间编程的问题

    在实际编程中,这些函数和结构体提供了灵活的时间处理能力,可以用于创建定时器、记录日志、处理时间戳、进行日期比较等多种场景。理解并熟练运用这些时间编程接口,对于在Linux环境下编写高效、准确的程序至关重要...

    Python的UTC时间转换讲解

    显示时间(datetime) 转换-&gt; UTC时间戳(timestamp),使用calendar.timegm(datetime.timetuple())。 注意: VC下相应的接口是gmtime和_mkgmtime。 代码: # -*- coding: gb2312 -*- # UTC时间转换,最终得到的都...

    BIND-LINUX64位包

    Use built-in versions of strptime() and timegm() on all platforms to avoid portability issues. [RT #35183] Fix a bug which could cause a crash when running "rndc reconfig" or "rndc reload" after ...

Global site tag (gtag.js) - Google Analytics