我有一个以字符串形式出现并代表时间的字段。有时它在12小时内,有时在24小时内。可能的值:
是否有一个功能可以通过智能将它们转换为时间格式?选项1没有,因为它是24小时格式,而选项2前面有0,选项3显然是24小时格式。 Python / lib中是否有一个函数可以执行:
time = func(str_time)
答案 0 :(得分:16)
超短答案:
from dateutil import parser
parser.parse("8:36pm")
>>>datetime.datetime(2015, 6, 26, 20, 36)
parser.parse("18:36")
>>>datetime.datetime(2015, 6, 26, 18, 36)
Dateutil应该可用于你的python安装;不需要大熊猫这样的东西
如果要从datetime
对象中提取时间:
t = parser.parse("18:36").time()
会给你一个time
对象(如果对你有更多的帮助)。
或者您可以提取单个字段:
dt = parser.parse("18:36")
hours = dt.hour
minute = dt.minute
答案 1 :(得分:2)
pandas中有一个这样的功能
import pandas as pd
d = pd.to_datetime('<date_string>')