2016-11-19 59 views
0

我無法理解爲什麼當我輸入的日期時間,我無法訪問一些方法,例如進口日期時間,但沒有屬性fromtimestamp或時區 - Python的

import datetime 
datetime(1970, 1, 1, tzinfo=timezone.utc) 

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
NameError: name 'timezone' is not defined 

任何想法,難道是pytz庫衝突?

謝謝

+0

您使用的是什麼版本的Python? – Connor

+0

Python 2.7.11 @Connor –

回答

1

因爲你需要使用.參考調用模塊變量或類:

datetime.datetime(1970, 1, 1, tzinfo=datetime.timezone.utc) 

datetime.timezone意味着它的內部datetimetimezone類。

您通常只導入模塊,而不是所有包含的類和方法,因爲該模塊正在作爲模塊類型類加載到您的全局堆棧中。

如果你想他們都得心應手,就像在你的榜樣,進口使用

from datetime import * 

,將採取從模塊每個類和加載到你的程序的全局變量,這樣你就可以使用它們。

+0

這都是正確的。但是,請注意,從datetime導入*'可能會導入不使用的函數和類。最佳做法是隻導入所需的項目或使用'import datetime'和'.'運算符。 – CodeJockey

1

確保導入「時區」和「日期時間」正確:

from datetime import datetime, timezone 
print(datetime(1970, 1, 1, tzinfo=timezone.utc)) 

,當然還有,確保你不命名你的文件類似「timezone.py」或「datetime.py」 ;)

UPDATE:這是假設你正在運行的Python 3.2或以上

+0

嗨,如果我做我從datetime導入日期時間,時區 Traceback(最近呼叫最後): 文件「」,第1行,在 ImportError:無法導入名稱時區 –

0

謝謝你的答案。

我只想指出,任何有datetime問題的人都應該考慮python 2和3之間的區別(讓我難過);它給我造成了很多問題。

希望這可以幫助您更快速地進行調試。

相關問題