工作,我有我工作的地方有很多時間和時間差的問題。到目前爲止,我已經用許多if語句解決了這個問題,但這些都很容易出錯。在尋找一個更好的解決方案,並沒有重新發明輪子,我遇到了時間,日期和timedelta。但這些似乎對我來說太不靈活,所以我正在尋找關於如何使用Python的內置功能來解決這個問題的思路和技巧 - 如果可能的話。問題在於:將衛星數據從地區劃分爲常規網格涉及大量簡單的時間計算。如果我有時間整數:200702100700我要加減從這樣的時間格式小時,分鐘,使其日 - 18會給我,考慮到閏年,可以去交,年,月,日落後一個新的日期並轉發。以下是我對python的datetime包的理解:與時間,日期,timedelta
from datetime import timedelta, date, time
t1 = date(2007,01,01); t = time(12,0); t2 = datetime.combine(t1,t)
t3 = timedelta(hours=18); t4 = t2 - t3; t5 = t2 + t3
print t4
>>>datetime.timedelta(2006, 23401, 3001)
這段時間在執行數千次計算的腳本中不是非常有用。我的問題是,t4沒有年,月或日的對象,2006年似乎被視爲小時。這一切都很混亂。這可能在python/numpy/scipy中嗎?如果是這樣,有人可以給我一個小費?
菲爾。在我自己的代碼中,我永遠不會在任何數字前面加上'0',但是並沒有真正考慮這裏的分支。 – Gerrat
偉大的一點!我會確保我避免這樣做。通常,這種填充的主要原因是搜索文件字符串或創建這樣的字符串。我的文件就是這樣。 – Shejo284