如何将"dd/MM/yyyy"
, "HH:mm"
, "dd-MMM-yy"
, "M/d/yyyy"
etc. 转换为"%d/%m/%Y"
, "%H:%M"
, "%d-%b-%y"
or "%m/%d/%Y"
etc?
问问题
5587 次
2 回答
2
您可以扩展replacements
以涵盖所有可能的用户日期时间格式(您也可以编辑此答案以在此处包含它们)
import re
replacements = {
r'dd': '%d',
r'd': '%d',
r'MM': '%m',
r'M': '%m',
r'yyyy': '%Y',
r'HH': '%H',
r'mm': '%M',
r'MMM': '%b',
r'yy': '%Y',
}
def fn(match):
return replacements[match.group()]
def F(text):
pat = '|'.join(r'\b' + re.escape(k) + r'\b' for k in replacements)
return re.sub(pat, fn, text)
>>> F("dd/MM/yyyy")
'%d/%m/%Y'
>>> F("HH:mm")
'%H:%M'
>>> F("dd-MMM-yy")
'%d-%b-%Y'
>>> F("M/d/yyyy")
'%m/%d/%Y'
于 2013-05-24T13:02:33.823 回答
0
更改日期时间的格式
导入日期时间
d = datetime.datetime.strptime("2013-05-24", "%Y-%m-%d") datetime.datetime(2013, 5, 24, 0, 0)
d.format("%d.%b.%Y") '2013 年 5 月 24 日'
格式函数在put前后两个下划线
于 2014-09-26T09:31:48.670 回答