python:计算时间进度
python: calculation of time progress
我正在编写 python 处理文本文件的代码,并针对每一行输入计算该行中描述的操作所涉及的时间,然后报告 "running time"。要求输出像
lapse time
start 12:00
action1 0:37 12:37
action2 1:01 13:38
action3 0:30 14:08
我想到了一些可能的方法,但看起来都很尴尬。最重要的是,我对使用 "time" 或 "strftime" 或 "datetime" 甚至其他东西感到困惑。我确信必须存在一个简单优雅的解决方案。
NB 时区和 DST 无关紧要,如果我能显示 UTC 就足够了,至少在开始时是这样。在稍后阶段,最后一列 (UTC) 可能会增加一列 "local time" 但这是次要的。
已编辑,显然不够清晰,添加示例伪代码:
TIME='12:00'
PCS_PER_HOUR=750
with infile:
read line of data
process data, including calc of PCS_DONE
LAPSE=PCS_DONE/PCS_PER_HOUR
TIME += LAPSE
print(' ..... ' ,format(data, data, data, LAPSE, TIME))
我的问题是如何将 "TIME='12:00" 变成 python 可以轻松处理的东西,并以计算出的整数秒或分钟或其他任何形式递增。
使用datetime.timedelta
.
设置开始时间。
In [1]: import datetime
初始时间为12小时
In [2]: start = datetime.timedelta(hours=12)
In [3]: start
Out[3]: datetime.timedelta(0, 43200)
假设 LAPSE
是 0.23 小时(件数除以每小时件数得出小时数)。
In [4]: action1 = datetime.timedelta(hours=0.23)
现在您可以根据需要格式化时间。标准表示是时、分、秒:
In [5]: str(start)
Out[5]: '12:00:00'
In [6]: str(start+action1)
Out[6]: '12:13:48'
我正在编写 python 处理文本文件的代码,并针对每一行输入计算该行中描述的操作所涉及的时间,然后报告 "running time"。要求输出像
lapse time
start 12:00
action1 0:37 12:37
action2 1:01 13:38
action3 0:30 14:08
我想到了一些可能的方法,但看起来都很尴尬。最重要的是,我对使用 "time" 或 "strftime" 或 "datetime" 甚至其他东西感到困惑。我确信必须存在一个简单优雅的解决方案。
NB 时区和 DST 无关紧要,如果我能显示 UTC 就足够了,至少在开始时是这样。在稍后阶段,最后一列 (UTC) 可能会增加一列 "local time" 但这是次要的。
已编辑,显然不够清晰,添加示例伪代码:
TIME='12:00'
PCS_PER_HOUR=750
with infile:
read line of data
process data, including calc of PCS_DONE
LAPSE=PCS_DONE/PCS_PER_HOUR
TIME += LAPSE
print(' ..... ' ,format(data, data, data, LAPSE, TIME))
我的问题是如何将 "TIME='12:00" 变成 python 可以轻松处理的东西,并以计算出的整数秒或分钟或其他任何形式递增。
使用datetime.timedelta
.
设置开始时间。
In [1]: import datetime
初始时间为12小时
In [2]: start = datetime.timedelta(hours=12)
In [3]: start
Out[3]: datetime.timedelta(0, 43200)
假设 LAPSE
是 0.23 小时(件数除以每小时件数得出小时数)。
In [4]: action1 = datetime.timedelta(hours=0.23)
现在您可以根据需要格式化时间。标准表示是时、分、秒:
In [5]: str(start)
Out[5]: '12:00:00'
In [6]: str(start+action1)
Out[6]: '12:13:48'