【发布时间】:2011-06-12 14:43:31
【问题描述】:
我一定是做错了什么,但我想不通。当我将秒作为 localtime() 的参数时,我得到秒和 16 小时。
my $startTime = time;
(process)
my $endTime = time;
my $diffTime = ( $endTime - $startTime );
($sec,$min,$hour) = localtime( $diffTime );
print STDERR "diffTime = $diffTime\n";
print STDERR "hour = $hour\n";
print STDERR "min= $min\n";
print STDERR "sec = $sec\n";
print( sprintf( "Elapsed time : %02d:%02d:%02d\n", $hour, $min, $sec ) );
...总是打印:
diffTime = 4
hour = 16
min= 0
sec = 4
Elapsed time : 16:00:04
好的。想出了如何添加 cmets - NoScript 设置太紧了。
谢谢...
我似乎无法在此线程中添加 cmets,所以我只是在这里感谢大家。
不使用 gmtime 是问题所在。它可能不是最有效的解决方案,但它可以满足我的需要,这只是用户评估他/她可能等待例程完成多长时间并决定输入的大小的简单信息他/她熟悉的数据集。
【问题讨论】:
-
嗯,你不会碰巧在格林威治标准时间,是吗?如果不是,您会看到根据您的本地时区的变化。
标签: perl time localtime elapsed