Python - Datetime's Time всегда равно нулю

1

Странная небольшая проблема, с которой я сталкиваюсь с Datetime. Вот что я делаю:

>>> from datetime import datetime, date
>>> t = date.timetuple(datetime.now())
>>> t
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1)

tm_hour, tm_min и tm_sec равны нулю. Почему это?

  • 0
    Я попробовал точно так же, и у меня все отлично работает
  • 0
    @Artsiom на моем Ubuntu Python 2.7.1 не работает нормально
Показать ещё 1 комментарий
Теги:
datetime
time

4 ответа

5
Лучший ответ

Ну t является date, поэтому, конечно, он не содержит никаких временных данных. Вы должны использовать datetime.timetuple(datetime.now()) для заполнения этих полей.

1

Я попробовал это на своей консоли и получил следующие результаты:

from datetime import datetime, date

date.timetuple(datetime.now())
>>> time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1)
datetime.timetuple(datetime.now())
>>> time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=13, tm_min=23, tm_sec=34, tm_wday=1, tm_yday=165, tm_isdst=-1)
1
>>> from datetime import datetime
>>> datetime.timetuple(datetime.now())
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=18, tm_min=25, tm_sec=20,  tm_wday=1, tm_yday=165, tm_isdst=-1)
>>> from datetime import date
>>> date.timetuple(datetime.now())
time.struct_time(tm_year=2011, tm_mon=6, tm_mday=14, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=165, tm_isdst=-1)

это мой результат.

0

это должно работать:

t = datetime.timetuple(datetime.now())
  • 0
    пожалуйста, отформатируйте ваш код соответствующим образом, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню