kel*_*rek 4 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'')
Run Code Online (Sandbox Code Playgroud)
第二个替换不起作用 - 我得到01/1/2013.如果它位于字符串开头的旁边,我该如何匹配零?
Mar*_*ers 12
.replace()并没有采取正则表达式.您正在尝试替换文字文本^0.
用str.format()不补零,而不是创建的日期格式:
'{0.month}/{0.day}/{0.year}'.format(my_date)
Run Code Online (Sandbox Code Playgroud)
并避免必须更换零.
演示:
>>> import datetime
>>> today = datetime.date.today()
>>> '{0.month}/{0.day}/{0.year}'.format(today)
'9/10/2013'
Run Code Online (Sandbox Code Playgroud)
如果使用glibc库编译Python ,那么您也可以使用格式中的短划线来抑制填充:
my_date.strftime('%-m/%-d/%y')
Run Code Online (Sandbox Code Playgroud)
但这不是那么便携.