免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4048 | 回复: 4
打印 上一主题 下一主题

perl时间格式转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-29 14:22 |只看该作者 |倒序浏览
请问perl怎么把‘Tue Sep 28 18:40:19 2010’ 转换成unix时间戳1285670419?

论坛徽章:
0
2 [报告]
发表于 2010-09-29 14:38 |只看该作者
你看一下Date::Manip模块··好像可以的

论坛徽章:
0
3 [报告]
发表于 2010-09-29 14:53 |只看该作者
本帖最后由 黑色阳光_cu 于 2010-09-29 15:01 编辑

  1. sub convert_time
  2. {
  3.         require Time::Local;

  4.         my ($time_str) = @_;
  5.         my $time;

  6.         my $convert_month = sub
  7.         {
  8.                 my %months =
  9.                 (
  10.                         Jan => 0,
  11.                         Feb => 1,
  12.                         Mar => 2,
  13.                         Apr => 3,
  14.                         May => 4,
  15.                         Jun => 5,
  16.                         Jul => 6,
  17.                         Aug => 7,
  18.                         Sep => 8,
  19.                         Oct => 9,
  20.                         Nov => 10,
  21.                         Dec => 11
  22.                 );

  23.                 return $months{$_[0]};
  24.         };

  25.         if ($time_str =~ /^\w+\s+(\w+)\s+(\d+)\s+(\d+):(\d+):(\d+)\s+(\d+)$/)
  26.         {
  27.                 my ($month, $day, $h, $m, $s, $year) = ($convert_month->($1), $2, $3, $4, $5, $6);
  28.                 if (defined $month)
  29.                 {
  30.                         $time = Time::Local::timelocal($s, $m, $h, $day, $month, $year);
  31.                 }
  32.         }

  33.         return $time;
  34. }

  35. die convert_time("Tue Sep 28 18:40:19 2010");
复制代码

论坛徽章:
0
4 [报告]
发表于 2010-09-29 16:15 |只看该作者
利用
use HTTP:ate;
my $str="Tue Sep 28 18:40:19 2010";
my $time=HTTP:ate::str2time($str,'+0000'); #此处要附加'+0000'
print "$time\n";
结果
1285699219

论坛徽章:
0
5 [报告]
发表于 2010-09-29 16:17 |只看该作者
改成+0800就是你的结果,这是时区的问题吧。
1285670419
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP