Python日期字符串格式

时间:2013-09-10 16:45:47

标签: python string datetime

我想从字符串格式的python日期中删除填充的零:

formatted_date = my_date.strftime("%m/%d/%Y") # outputs something like: 01/01/2013
date_out = formatted_date.replace(r'/0', r'/').replace(r'^0', r'') 

第二个替换不起作用 - 我得到01/1/2013。如果它位于字符串开头的旁边,我该如何匹配零呢?

1 个答案:

答案 0 :(得分:12)

.replace() 采用正则表达式。您正尝试替换文字文本^0

使用str.format()创建一个不带零填充的日期格式:

'{0.month}/{0.day}/{0.year}'.format(my_date)

并且避免必须替换零。

演示:

>>> import datetime
>>> today = datetime.date.today()
>>> '{0.month}/{0.day}/{0.year}'.format(today)
'9/10/2013'

如果使用glibc库编译Python,那么您也可以使用格式的短划线来抑制填充:

my_date.strftime('%-m/%-d/%y')

但这并不是那么便携。