如何去掉Python日期字符串前导零?
有没有简单的方法可以去掉Python中日期字符串前面的零呢?
在下面的例子中,我想要的结果是12/1/2009,而不是12/01/2009。我想我可以用正则表达式来处理,但我觉得这有点复杂。有没有更好的办法呢?
>>> time.strftime('%m/%d/%Y',time.strptime('12/1/2009', '%m/%d/%Y'))
'12/01/2009'
另见
4 个回答
3
我建议使用一个非常简单的正则表达式。这个操作并不是特别需要高性能,对吧?
你可以搜索 \b0
,然后把它替换成空白,也就是删除它。
也就是说:
import re
newstring = re.sub(r"\b0","",time.strftime('%m/%d/%Y',time.strptime('12/1/2009', '%m/%d/%Y')))
22
一个更简单、更易读的解决方案是自己来格式化:
>>> d = datetime.datetime.now()
>>> "%d/%d/%d"%(d.month, d.day, d.year)
4/8/2012
8
@OP,处理字符串其实并不复杂。
>>> t=time.strftime('%m/%d/%Y',time.strptime('12/1/2009', '%m/%d/%Y'))
>>> '/'.join( map( str, map(int,t.split("/")) ) )
'12/1/2009'