2016-12-05 95 views
0

有添加例如每天的各種方式:日期時間,增加了一天,得到正確格式

import datetime 
print(datetime.datetime.now() + datetime.timedelta(days=1)) 

這樣做的問題是,答案是:2016年12月6日16:52:44.679431 我只需要2016-12-06。通過執行像分割這樣的字符串操作,我可以很容易地得到它。我想知道是否有辦法直接做到這一點。

其次:

從我從文檔閱讀以下兩種方式應該給我的時候,我也不時區做雖然。

import time 
print(time.localtime()) 

結果:time.struct_time的(tm_year = 2016,tm_mon = 12,tm_mday = 5,tm_hour = 17,tm_min = 50,tm_sec = 56,tm_wday = 0,tm_yday = 340,tm_isdst的= 0)

&

import datetime 
print(datetime.datetime.now()) 

回報2016年12月5日17:52:09.045170

也不做,他們都讓我GMT:

我如何獲得當地時區?

摘要: 是否有直接的方法來獲得正確的表格? 如何獲取我的本地時區?

+0

呃...我還不夠清楚。你有關時區或日期泡沫的問題嗎? – felipsmartins

+0

'(datetime.datetime.now()+ datetime.timedelta(days = 1))。date()== 2016-12-06' – AChampion

+0

這是關於兩者,但AChampion回答格式化部分 – Tank

回答

1

根據文檔:

datetime.date()的同一年,月,日

歸期對象。

你的情況:

import datetime 

print("local hour: "+str((datetime.datetime.now() + datetime.timedelta(days=1)).date())) 
print("utc hour: "+str((datetime.datetime.utcnow() + datetime.timedelta(days=1)).date())) 

輸出:

local hour: 2016-12-06 
utc hour: 2016-12-06 

另一種方法是改變datetime.datetime.today()datetime.date.today()

import datetime 

print(datetime.date.today() + datetime.timedelta(days=1)) 

輸出:

2016-12-06 
+0

請務必解決所有OP的問題:「現在datetime.now和datetime.today在您的時區給您提供時間嗎?以前的代碼我假設它給GMT,所以有直接的方法來改變時區嗎?」嘿,我會回答。文檔聲稱從'today()'和'now()'返回的時間是本地時間。 –

+0

文檔聲明當地時間,但我得到GMT?我之前閱讀過文檔,這就是爲什麼我很困惑。新增原始q的示例。 – Tank

+0

當地小時和UTC的天組件將一直持續到晚上9點左右,但如果我使用的日期和時間是格林威治標準時,我正在構建的網站肯定會有錯誤。 - – Tank