У меня есть эти датыСтранная преобразования временной метки
2016-02-26 12:12:12
2016-02-friday 12:12:12
(те две даты относится к в тот же день)
Если преобразовать первый в отметьте метку времени и затем преобразуйте ее обратно в читаемом формате, в котором она работает.
Но если я попробую то же самое на втором, он не конвертируется обратно в нужный день!
Вот что я сделал:
sTimestamp = time.mktime(
datetime.datetime.strptime(
"2016-02-26 12:12:12",
"%Y-%m-%d %H:%M:%S")
.timetuple())
print("date from timestamp = " +
datetime.datetime.fromtimestamp(int(sTimestamp))
.strftime('%Y-%m-%d %H:%M:%S'))
sTimestamp = time.mktime(
datetime.datetime.strptime(
"2016-02-friday 12:12:12",
"%Y-%m-%A %H:%M:%S")
.timetuple())
print("date from timestamp = " +
datetime.datetime.fromtimestamp(int(sTimestamp)).
strftime('%Y-%m-%d %H:%M:%S'))
Выход из двух thoses линий:
- дата с отметкой времени = 2016-02- 12:12:12
- дата от временной отметки = 2016-02- 12:12:12
Как вы можете видеть, первый вернулся к 26, а второй преобразует обратно в 01 по неизвестной причине. И, кстати, 01 - понедельник ...
Для информации я использую python 3.4, и я нахожусь в Windows.
Humm ok! Спасибо за Ваш ответ. Кто-нибудь не понимает, как все еще делать то, что я хочу? – Doctor
@Doctor: Если вы хотите получить '26' с' friday', нет. С некоторым дополнительным кодом лучше всего вы можете рассчитывать как список всех пятниц в феврале (или в первую пятницу, или в последнюю пятницу, или в последнюю пятницу или в следующую пятницу), - но вам придется выяснить, какие один, который вы хотите. –
@Doctor: если вы знаете, что всегда хотите «последнюю пятницу»; вы можете [использовать 'dateutil.relativedelta()'] (http://stackoverflow.com/a/12687078/4279). – jfs