从datetime返回不同​​的时间范围

时间:2012-05-01 00:56:32

标签: python datetime

我正在以这种方式解析文件:

for d in csvReader:
    print datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

date()返回:2000-01-08,这是正确的

time()返回:06:20:00,这也是正确的

我如何回复"日期+时间" "日期+小时+分钟"

修改

对不起,我应该更精确,这是我想要实现的目标:

lmb = lambda d: datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f").date()

daily_quotes = {}
for k, g in itertools.groupby(csvReader, key = lmb):
    lowBids = []
    highBids = []
    openBids = []
    closeBids = []
    for i in g:

        lowBids.append(float(i["Low Bid"]))
        highBids.append(float(i["High Bid"]))
        openBids.append(float(i["Open Bid"]))
        closeBids.append(float(i["Close Bid"]))

    dayMin = min(lowBids)
    dayMax = max(highBids)
    open = openBids[0]
    close = closeBids[-1]

    daily_quotes[k.strftime("%Y-%m-%d")] = [dayMin,dayMax,open,close]

正如您所看到的,现在我按天分组值,我想按小时分组(我需要日期+小时)或分钟(日期+小时+分钟)

提前感谢!

1 个答案:

答案 0 :(得分:1)

请勿使用您从date获取的datetime对象的strptime方法。相反,直接将strftime应用于strptime的返回,这样您就可以访问所有成员字段,包括年,月,日,小时,分钟,秒等...

d = {"Date": "01-Jan-2000", "Time": "01:02:03.456"}
dt = datetime.datetime.strptime(d["Date"]+"-"+d["Time"], "%d-%b-%Y-%H:%M:%S.%f")
print dt.strftime("%Y-%m-%d-%H-%M-%S")