2012-03-18 1 views
0

Почему я не могу просто сделать datetime.now()? Python это не нравится? Что правильно, зачем импортировать и использовать библиотеку datetime в python ...?Правильный способ импорта и использования библиотеки python datetime

import datetime 
now = datetime.datetime.now() 
print "Time: %d:%02d - Date: %d/%d/%d <br>" %(now.hour, now.minute, now.month, now.day, now.year) 
+1

Кстати, вы должны использовать strftime для форматирования. 'http: // docs.python.org/library/datetime.html' – Doboy

ответ

3

Это потому, что вы импортируете модуль datetime (который содержит классы для управления датами и временем, указанными в documentation), а не для объекта datetime. В таких классах и объектах внутри модуля datetime существует объект с именем datetime (да, с тем же именем, что и модуль, в котором он живет), поэтому для использования объекта datetime так, как вы хотите, вам необходимо импортировать его следующим образом:

from datetime import datetime 
#  ^   ^
#  |    | 
# module  class inside module 

# Now you can use 
now = datetime.now() 
+0

Это работает ... однако, для проверки синтаксиса eclipse не нравится, что «import datetime» после некоторого времени по какой-то причине интерпретатор думает, что все в порядке. Благодаря! – htmlfarmer

2

Модульdatetimeсодержит ряд классов, в том числе класса datetime.datetime. Если вы не заботитесь о других функций в модуле, вы можете написать:

from datetime import datetime as datetime_class 
datetime_class.now() 

Однако я настоятельно рекомендую просто писать datetime.datetime.now().

+0

хорошо, хорошая идея. – htmlfarmer

Смежные вопросы