我有像一個時間差的字符串:Perl的時間解析和差計算爲「加天:小時:分鐘」
12:03:22 <- where
^^^
| | +minutes
| +hours
+days
強制性僅可以省略分鐘,小時,天,但在這裏可以是例如120:30,所以120小時30分鐘。
需要計算的日期和時間NOW +差,因此,例如:
when now is "May 20, 13:50" and
the string is "1:1:5"
want get as result: "2012 05 21 14 55" (May 21, 14:55)
我知道日期時間,但什麼是最簡單的方式解析輸入字符串?我敢肯定,這裏有更好的辦法:
use _usual_things_;
my ....
if($str =~ m/(.*):(.*):(.*)/) {
$d = $1; $h = $2; $m = $3;
}
elsif($str =~ m/(.*):(.*)/) {
$h = $1; $m = $2;
} elsif ($str =~ m/\d+/) {
$m = $1;
}
else {
say "error";
}
如何添加到正確的日期解析天,小時,分鐘?
太棒了! :)在3分鐘內打電話! :) – jm666
這是一個很好的。 – tuxuday
唯一的缺點:當$ d未定義時(例如對於字符串2:30)DateTime抱怨__ DateTime :: Duration :: new的'days'參數(undef)是'undef',它不是允許的類型:__ – jm666