假设我有一堆时间戳,如“11/05/2010 16:27:26.003”,如何在Perl中用毫秒解析它们.
基本上,我想比较时间戳,看看它们是在特定时间之前还是之后.
我尝试使用Time :: Local,但似乎Time :: Local只能解析秒.另一方面,Time :: HiRes并不是真正用于解析文本的.
谢谢,
德里克
解决方法
您可以使用Time :: Local,只需添加.003即可:
#!/usr/bin/perl use strict; use warnings; use Time::Local; my $timestring = "11/05/2010 16:27:26.003"; my ($mon,$d,$y,$h,$min,$s,$fraction) = $timestring =~ m{(..)/(..)/(....) (..):(..):(..)([.]...)}; $y -= 1900; $mon--; my $seconds = timelocal($s,$mon,$y) + $fraction; print "seconds: $seconds\n"; print "milliseconds: ",$seconds * 1_000,"\n";