# HG changeset patch # User Matti Hamalainen # Date 1402685033 -10800 # Node ID 127b1d0f874ebce5e5f11d0d225954e1677744d5 # Parent 15c49bb1ce0559267aaee5228abd591782c046f8 Use Time::Piece for some timestamp parsing. diff -r 15c49bb1ce05 -r 127b1d0f874e fetch_weather.pl --- a/fetch_weather.pl Fri Jun 13 17:38:09 2014 +0300 +++ b/fetch_weather.pl Fri Jun 13 21:43:53 2014 +0300 @@ -17,7 +17,7 @@ use HTML::Entities; use XML::Simple; use Text::Iconv; -use Date::Parse; +use Time::Piece; use Date::Format; use Data::Dumper; @@ -59,14 +59,15 @@ sub parse_timestamp($$) { # XXX: A bit of a hack, but it works. - return str2time($_[0]) - str2time("00:00") + $_[1]; + return Time::Piece->strptime($_[0], "%OH:%OM")->epoch - + Time::Piece->strptime("00:00", "%OH:%OM")->epoch + $_[1]; } sub gmt_time_fmt($) { # 2012-02-27T00:00:00Z - return time2str("%Y-%m-%dT%TZ", $_[0], "UTC"); + return gmtime($_[0])->strftime("%Y-%m-%dT%TZ"); } sub str_trim($) @@ -359,11 +360,11 @@ # Find our desired element nodes my $odata = fnodea(fnode($otree, "body"), "div", "class=elementc"); my $oupdate = fnode($odata, "p"); - my $time_base = str2time("00:00"); + my $time_base = Time::Piece->strptime("00:00", "%H:%M")->epoch; if ($oupdate) { my $tmp = $oupdate->{"nodes"}[0]{"text"}; if ($tmp =~ /:\s+(\d\d\.\d\d\.\d\d\d\d)\s+(\d\d:\d\d)/) { - $time_base = str2time($1); + $time_base = Time::Piece->strptime($1, "%Od.%Om.%Y")->epoch; } }