我想知道是否有一种方法可以从文本文件的一行中的预设值转换日期和时间。在
对于日期转换,我需要一年中的某一天。我找到了一种方法,用这个代码获取一年中的当前日期:from datetime import datetime
day_of_year = datetime.now().timetuple().tn_yday
print day_of_year
但在过去的几年里也需要它(例如1991年、1995年、2004年)。在
对于时间转换,我需要一天中的秒数。我的代码可以将一天中的小时、分钟和秒转换为秒:
^{pr2}$
但是我不能每次输入小时、分钟、秒的值,因为它必须从文本文件的行中读取任何值。在
我有一个示例文本文件,我们称之为日期时间.txt,是:1.a Date Installed : 1991-01-19T00:00Z
Date Removed : 1993-02-08T00:00Z
1.b Date Installed : 1993-02-09T00:00Z
Date Removed : 1994-01-12T00:00Z
1.c Date Installed : 1994-01-12T00:00Z
Date Removed : 1994-02-16T17:36Z
为了理解示例文本文件,表示时间,T后面的两个字符表示小时,冒号“:”后面的两个字符表示分钟。对于日期,破折号“-”之间的两个字符表示月份,“T”之前的两个字符表示天。例如1.a,时间00是小时,00是分钟。日期01是月(一月),19是天。在
我现在的代码是:with open('datetime.txt', 'r') as dt:
for line in dt:
header = line.split(':')[0]
if 'Date Installed' in header:
year = line.split(':')[1].strip()[2:4]
day_of_year = line.split(':')[1].strip()[5:7] + line.split(':')[1].strip()[8:10]
sec_of_day = line.split(':')[1].strip()[14:16]
print year,
print day_of_year,
print sec_of_day
我添加的索引是为了告诉从文本文件中的行开始到结束要打印的字符。在
我已经有一段时间在我的剧本这一部分了。对Python还是个新手,所以还不太熟悉一切。在
那么我该如何实现或在当前代码中添加day和time的两个转换呢?这样做的目的是让我可以运行一个通用代码,该代码将运行并为我提供相同的输出、格式和转换,以及其他具有不同值的文本文件。在
任何在正确方向上的帮助都是值得感激的。在
注意
我不确定这个问题是否重复了其他问题。我真的不知道该如何恰当地表达我的问题,所以如果问题真的被重复了,我很抱歉。而且,这不是为了上学。只是为了我自己在工作中运行不同的文本文件和提取/打印行的特定部分。在