我在一个有限的环境中开发python脚本。
我的问题是我必须能够完成日期时间的加法和减法。
例如,我得到以下字符串:
"09/10/20,09:59:47-16"格式为年/月/日,小时:分钟:秒-毫秒。
在Python中,我如何在这个数字上加上30秒?除了基本的加法、减法和字符串解析函数之外,我不能使用任何其他函数。
发布于 2009-10-20 16:06:22
你在不同的基础上做数学运算。您需要解析字符串并得出一个值列表,例如(年、月、日、小时、分钟、秒),然后进行基于其他的数学加法和减法运算。例如,小时数是以24为基数,因此您需要使用模数来执行计算。这听起来像是家庭作业,所以我不会再详细介绍了:)
发布于 2009-10-21 00:06:41
出于完整性考虑,默认的python发行版中包含了datetime.datetime.strptime和datetime.timedelta。
from datetime import datetime, timedelta
got = "09/10/20,09:59:47-16"
dt = datetime.strptime(got, '%y/%m/%d,%H:%M:%S-%f')
dt = dt + timedelta(seconds=30)
print dt.strftime('%y/%m/%d,%H:%M:%S-%f')打印准确
09/10/20,10:00:17-160000Docs here。
发布于 2009-10-21 00:09:10
执行日期运算的最简单方法是不在日期上实际执行该运算,而是对更简单的数量执行该运算。
通常,较简单的数量是自某个时期以来的秒数。1970年1月1日的结果很好。知道纪元,每个月的天数,以及哪些年份是闰年,你可以很容易地从这个“秒数”表示转换成日期字符串(如果在原始版本中不慢的话)。
您还需要将日期字符串转换回更简单的表示形式。这又一次,不是太难。
一旦你有了这两个函数,算术就很简单了。只需在"number of seconds“表示中添加或减去时间量即可。然后转换回日期字符串。
综上所述,我希望这是一个家庭作业,因为你绝对不应该在生产代码中编写自己的日期处理函数。
https://stackoverflow.com/questions/1595704
复制相似问题