0
我寫了一個腳本來讀取類型爲'Tue Nov 18 19:23:17 2014'的ASCII格式的日期,並將其轉換爲繪圖的十進制日期。我的兩行代碼有效,但看起來很複雜。我無法直接找到一個庫函數來做這件事,我想我一定會錯過一些東西;應該有一種簡潔的方式來做到這一點。任何建議?簡明的ASCII日期到十進制日期
import time, datetime
from matplotlib import dates
b = time.strptime('Tue Nov 18 19:23:17 2014')
d = dates.date2num(datetime.datetime(b[0],b[1],b[2],b[3],b[4],b[5]))
print d
#this code results in 735555.807836
#Simplified code incorporating suggestion by Toni_W
from matplotlib import dates
from dateutil.parser import parse
dates.date2num(parse('Tue Nov 18 19:23:17 2014'))
您可以使用一個公式直接從'time'去'float',但它肯定贏不要簡潔。 –
你如何處理時區?或者你的輸入是否被認爲是UTC? – ghoti
@Toni_W,謝謝:基本上我的代碼被簡化爲一行:dates.date2num(parse('Tue Nov 18 19:23:17 2014')) – gciriani