У меня есть ENDDATE с ISO8601 формата и durationDays теперь
И я хочу, чтобы вычислить STARTDATE с форматом UTC Я не уверен, является ли мой код правильно:.
когда я получаю datetime.datetime.utcfromtimestamp(startDate_Timestamp)
это как 2015-09-26 05:08:23
без часового пояса
Так что я добавить один. Но я не уверен, что это правильно ??Как рассчитать STARTDATE (UTC) с ENDDATE (ISO8601 и durationDays
import datetime
import dateutil.tz
import dateutil.parser
import time
import pytz
endDate = "2015-10-10T01:08:03-04:00"
durationDays = 13.666435185185186
#convert endDate from ISO8601 to UTC time
pyTime = dateutil.parser.parse(endDate)
endDateUTC = pyTime.astimezone(dateutil.tz.tzutc())
print endDateUTC
#convert pyTimeUTC to Timestamp
pyTimeUTC_Timestamp = time.mktime(endDateUTC.timetuple())
print pyTimeUTC_Timestamp
# durationDays * 24 * 60 * 60
durationtimes = durationDays* 24 * 60 * 60
#get startdate Timestamp
startDate_Timestamp = pyTimeUTC_Timestamp - durationtimes
print startDate_Timestamp
# convert startDate_Timestamp back to UTC time
startDateUTC = datetime.datetime.utcfromtimestamp(startDate_Timestamp).replace(tzinfo=pytz.utc)
print startDateUTC
какой вопрос вы хотите получить? Вы должны быть конкретными –
BTW, как вы пришли с 'durationDays = 13.666435185185186', вы вручную вычислили его через 13 дней 16 часов в несколько других минут/секунд? –
Значение '' 'durationDays'''' взято из сайта kickstarter – user2492364