我需要将python中的日期字符串"Dec 17 00:00:06“转换为字符串"2014-12-17 00: 00:00:06”。我看了一下datetime.strptime,但还是找不到解决这个问题的方法。例:
十二月十七日:00:06至2014-12-17 : 00:00:06
发布于 2015-01-12 11:17:17
您可以使用datetime模块。
例如:
>>> import datetime
>>> do = datetime.datetime.strptime("Dec 17 2014 00:00:06", "%b %d %Y %H:%M:%S")
>>> do.strftime("%Y-%m-%d %H:%M:%S")
'2014-12-17 00:00:06'我们可以将年份值替换为2014,如下所示:
>>> do = datetime.datetime.strptime("Dec 17 00:00:06", "%b %d %H:%M:%S")
>>> do.strftime("%Y-%m-%d %H:%M:%S")
'1900-12-17 00:00:06'
>>> do1 = do.replace(year=2014)
>>> do1.strftime("%Y-%m-%d %H:%M:%S")
'2014-12-17 00:00:06'如果我们只想要time值,那么我们可以尝试-
>>> do = datetime.datetime.strptime("Dec 17 00:00:06", "%b %d %H:%M:%S")
>>> do.strftime("%H:%M:%S")
'00:00:06'更新:从文件中更新日期时间字符串及其时间字符串。
阿尔戈:
re模块,即正则表达式从内容中获取所有模式。set方法删除重复值。代码是:-
import datetime
import re
p = "/home/vivek/Desktop/input.txt"
with open(p, "rb") as fp:
content = fp.read()
date_values = set(re.findall("\[([^]]+)\]", content))
for i in date_values:
do = datetime.datetime.strptime(i, "%b %d %H:%M:%S")
content = content.replace("[%s]"%i, "%s"%(do.strftime("%H:%M:%S")) )
p = "/home/vivek/Desktop/output.txt"
with open(p, "wb") as fp:
fp.write(content)发布于 2015-01-12 11:28:02
使用datetime模块将帮助您解决问题。
from datetime import datetime首先,通过编写下面的行将日期字符串转换为datetime对象。
date_obj = datetime.strptime("Dec 17 2014 00:00:06", "%b %d %Y %H:%M:%S")然后将该日期对象转换为字符串。
date_obj.strftime("%Y-%m-%d %H:%M:%S")您可以更改上述strftime()函数的参数,并根据您的请求获得不同的格式。请跟随python日期时间
下面是指向可以在strftime()函数参数选项中传递的参数的选项的链接
按照你的要求去玩一玩。
https://stackoverflow.com/questions/27900503
复制相似问题