2012-03-18 21 views
0

爲什麼我不能只做datetime.now()? Python不喜歡這個?什麼是正確的,爲什麼導入和使用python中的日期時間庫...?導入和使用datetime python庫的正確方法

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

btw你應該使用strftime進行格式化。 'http:// docs.python.org/library/datetime.html' – Doboy 2012-03-18 00:38:30

回答

3

這是因爲您正在導入日期時間模塊(其中包含用於處理日期和時間的類,如documentation中所述)而不是日期時間對象。在日期時間模塊內部的這些類和對象中存在一個名爲datetime(是的,與它所在的模塊名稱相同)的對象,因此要按照您希望的方式使用datetime對象,如下所示:

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

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

這有效......但是,eclipse語法檢查器不會因爲某些原因而不喜歡那個「import datetime」,但是,解釋器認爲它沒問題。謝謝! – htmlfarmer 2012-03-21 16:24:31

2

datetime模塊包含許多,包括類datetime.datetime的。如果你不關心模塊中的其它功能,你可以寫:

from datetime import datetime as datetime_class 
datetime_class.now() 

不過,我強烈建議簡單地寫datetime.datetime.now()

+0

好吧,好主意。 – htmlfarmer 2012-03-21 16:25:42