2

如何将"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?

4

2 回答 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 回答