Мне было интересно, есть ли способ конвертировать дату и время из заданного значения в строку из текстового файла.Как преобразовать дату и время из строки в текстовый файл?
Для преобразования даты мне нужен день года. Я нашел способ, чтобы получить текущий день года с этим кодом:
from datetime import datetime
day_of_year = datetime.now().timetuple().tn_yday
print day_of_year
Но потребуется это за прошлые годы также (исключая, 1991, 1995, 2004).
Для преобразования времени мне нужны секунды. Код у меня есть, что превращает часы, минуты и секунды до нескольких секунд в день:
def get_sec(s):
x = s.split(':')
return int(x[0]) * 3600 + int(x[1]) * 60 + int(x[2])
print get_sec('17:36:00) //gives me an output of 63360
Но я не могу быть ввода значения для часов, минут, секунд каждый раз, так как он должен прочитать любое значение из строки в текстовом файле.
Образец текстового файла У меня есть, позволяет называть его datetime.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
Для того, чтобы разобраться в текстовом файле примера, за время, в 2 символа после «T» представляет часы и 2 символа после двоеточия ':' представляет минуты. На дату, два символа между штрихами '-' представляют месяцы, а 2 символа перед «Т» представляют дни. Так, например, 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, так что не все спокойно знакомы со всем.
Итак, как бы реализовать или добавить в свой текущий код два преобразования для дня и времени? Целью этого является то, что я могу запустить общий код, который будет запускаться, и дать мне тот же вывод, формат и преобразование, с другими текстовыми файлами с разными значениями.
Любая помощь в правильном направлении оценивается.
Примечание Я не уверен, что этот вопрос является дубликатом чего-то еще. Я не очень-то уверен, как правильно сформулировать свой вопрос, поэтому я извиняюсь, если в конце концов это дубликат. А также это не для школы. Только для моего личного использования на работе для запуска различных текстовых файлов и для извлечения/печати определенных частей линий.
Почему вы не используете стандартную поддержку даты и времени в библиотеке Python (называется, изобретательно, ['datetime'] (https://docs.python.org/2/library/datetime.html))? – jonrsharpe