perl将时间的09取成9

theone5288 2010-07-27 11:45:27
问题1--我是菜鸟,现在有这样一个数据,2 03:20:01,我想依次取出2,3,20,1;其中凡是01,02等都取出1,2,去掉前面的0!
问题2--其实数据2 03:20:01是个时间,即2天3小时20分1秒,有没有办法直接换算成分钟?能直接换算最好,不行的话就用上面的方法依次取出数做相应的运算!
求教~~~~~~~~~~~
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixq2000 2010-08-05
  • 打赏
  • 举报
回复

"%02d"%(3)
'03'
proorck6 2010-08-02
  • 打赏
  • 举报
回复
$time<10?"0".$time:$time;
njlnb2000 2010-07-29
  • 打赏
  • 举报
回复
#如果非要去0的话可以这样:
"2 09:20:01"=~/(\d+) +0?(\d+):0?(\d+):0?(\d+)/;
print (($1*24+$2)*60+$3,"\n");#分钟数
print "$1 $2:$3:$4\n";#去0之后按格式输出
njlnb2000 2010-07-29
  • 打赏
  • 举报
回复
"2 03:20:01"=~/(\d+) +(\d+):(\d+)/;
print (($1*24+$2)*60+$3);
theone5288 2010-07-28
  • 打赏
  • 举报
回复
$time = "2 03:20:01";
my @time = split(' ',$time);
my $day = $time[0]*24*60;
my @time1 = split(':',$time[1]);
my $i;
for ($i=0;$i<=$#time1;$i++)
{
$time1[$i] =~ s/^0//;
print $time1[$i],"\n";

}
my $hour = $time1[0]*60;
my $minute = $time1[1];
my $sum_minute = $day + $hour + $minute;
print $sum_minute,"\n";
$sum_minute 就是所换算玩的分钟数
iambic 2010-07-28
  • 打赏
  • 举报
回复
my $time = "2 03:20:01";
my ($day, $hour, $minute, $second) = ($time =~ /\d+/g);
my $minutes = ($day * 24 + $hour) * 60 + $minute;
print $minutes;

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧