删除str(日期)的前导0

时间:2011-10-01 07:27:04

标签: python

如果我有一个datetime对象,我如何将日期作为字符串以下列格式获取:

1/27/1982  # it cannot be 01/27/1982 as there can't be leading 0's

我正在做的当前方式是为所有数字(01,02,03等等)做一个.replace但这看起来非常低效和繁琐。什么是更好的方法来实现这一目标?

谢谢。

2 个答案:

答案 0 :(得分:4)

您可以自行格式化,而不是使用strftime

'{0}/{1}/{2}'.format(d.month, d.day, d.year) // Python 2.6+

'%d/%d/%d' % (d.month, d.day, d.year)

答案 1 :(得分:1)

datetime对象有一个方法strftime()。这将使您更灵活地使用内置格式字符串。

http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior

我使用lstrip('0')删除了前导零。

>>> d = datetime.datetime(1982, 1, 27)

>>> d.strftime("%m/%d/%y")
'01/27/82'

>>> d.strftime("%m/%d/%Y")
'01/27/1982'

>>> d.strftime("%m/%d/%Y").lstrip('0')
'1/27/1982'