我有一个带有时差的字符串,例如:
12:03:22 <- where
^ ^ ^
| | +minutes
| +hours
+days
强制性的只有分钟,小时和天可以省略,但这里可以是例如 120:30,所以 120 小时和 30 分钟。
需要计算NOW + Difference 的日期和时间,例如:
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)
我知道 DateTime,但是解析输入字符串的简单方法是什么?我敢肯定,这是一种更好的方法:
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";
}
以及如何将解析的天数、小时数、分钟数添加到当前日期?