2017-08-28 177 views
0

我从API获取HH:MM格式的时间(例如09:15)。 如何将其转换为有效的python日期时间对象,日期设置为当前日期?以HH:MM格式将日期时间转换为日期时间(日期设置为今日)

我的意思是9点15分应转化为星期一,08月28九点十五分00秒(当前时区)2017

我尝试这样做,但我正在寻找一个干净的解决方案:

datetime.strptime(datetime.today().strftime('%Y/%m/%d ') + '09:15', '%Y/%m/%d %H:%M') 
+0

干净的解决方案是什么意思? –

+0

@JaiSharma:今天没有将日期转换为字符串,然后追加到字符串。例如,今天设置为'datetime.strptime('09:15','%H:%M')'返回的对象的日期。 – mrdaliri

回答

0

使用replace

from datetime import datetime 

datetime.today().replace(hour=9, minute=15, second=0, microsecond=0) 
+0

我有一个字符串,'09:15',你的意思是我第一次用冒号拆分它? – mrdaliri

+0

请描述你想转换为什么。我希望你想在几小时和几分钟的变化中获得目前的时间。 –

+0

你是对的,但我有一个字符串,我从其他地方得到。 – mrdaliri

2

我觉得你可以先转换time字符串datetime对象,然后替换属性yearmonthday

now = datetime.today() 

print (datetime.strptime('09:15', '%H:%M')) 
1900-01-01 09:15:00 

a = datetime.strptime('09:15', '%H:%M').replace(year=now.year,month=now.month,day=now.day) 
print (a) 
2017-08-28 09:15:00 
相关问题