Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中从一行中提取时间_Python - Fatal编程技术网

在Python中从一行中提取时间

在Python中从一行中提取时间,python,Python,可能重复: 我得到了如下日志条目: 2013-01-09 06:13:51,464 DEBUG module 159 Djang... 从该字符串中提取日期的最短(最佳)方法是什么?是否需要保留微秒 >>> a = "2013-01-09 06:13:51,464 DEBUG module" >>> a = a.split(" ") >>> date,time = a[0], a[1] >>> date = date.s

可能重复:

我得到了如下日志条目:

2013-01-09 06:13:51,464 DEBUG module 159 Djang...

从该字符串中提取日期的最短(最佳)方法是什么?

是否需要保留微秒

>>> a = "2013-01-09 06:13:51,464 DEBUG module"
>>> a = a.split(" ")
>>> date,time = a[0], a[1]
>>> date = date.split("-")
>>> time = time.split(",")[0].split(":")

>>> date
['2013', '01', '09']
>>> time
['06', '13', '51']


>>> args_list = [int(i) for i in date]
>>> args_list.extend( [int(i) for i in time])
>>> args_list
[2013, 1, 9, 6, 13, 51]

>>> import datetime
>>> datetime.datetime(*args_list)
datetime.datetime(2013, 1, 9, 6, 13, 51)
>>> import re
>>> log = "2013-01-09 06:13:51,464 DEBUG module"
>>> p = re.compile("\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d*")
>>> time_str = p.findall(log)[0]
>>> time_str
'2013-01-09 06:13:51,464'
>>> from datetime import datetime
>>> date_time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S,%f')
>>> date_time
datetime.datetime(2013, 1, 9, 6, 13, 51, 464000)


你需要保持微秒吗

>>> import re
>>> log = "2013-01-09 06:13:51,464 DEBUG module"
>>> p = re.compile("\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d*")
>>> time_str = p.findall(log)[0]
>>> time_str
'2013-01-09 06:13:51,464'
>>> from datetime import datetime
>>> date_time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S,%f')
>>> date_time
datetime.datetime(2013, 1, 9, 6, 13, 51, 464000)


您正在那里实现字符串解析,该解析已由datetime类中的strTime函数处理。你的答案比我的长4倍。另外,为什么在问完问题后马上要回答自己的问题?您正在那里实现字符串解析,这已经由datetime类中的strTime函数处理。你的答案比我的长4倍。还有,你为什么在问完问题后马上回答自己的问题呢?正则表达式的使用是多余的,如果在这种情况下不是过度使用的话。好的。如果日志格式没有更改,
split
就足够了。在这种情况下,正则表达式的使用是多余的,如果不是过度使用的话。确定。如果日志格式没有更改,
split
就足够了。你问了一个问题,问了一会儿就回答了,然后投票决定关闭它?听起来你只是在重复问题/答案以提高声誉。@ZoranPavlovic,我用了“回答你自己的问题,QnA风格”;当然不是代表法明你问了一个问题,问了一会儿就回答了,然后投票决定结束?听起来你只是在重复问题/答案以提高声誉。@ZoranPavlovic,我用了“回答你自己的问题,QnA风格”;而且绝对不是为了农业