去除日期字符串前导零
如果我有一个日期时间对象,我该如何把日期转换成下面这种格式的字符串:
1/27/1982 # it cannot be 01/27/1982 as there can't be leading 0's
我现在的做法是用 .replace 方法把所有的数字(比如 01、02、03 等等)都替换掉,但这样做感觉很低效,也很麻烦。有没有更好的方法来实现这个呢?
2 个回答
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'
4
你可以自己来格式化,而不是使用 strftime
这个工具:
'{0}/{1}/{2}'.format(d.month, d.day, d.year) // Python 2.6+
'%d/%d/%d' % (d.month, d.day, d.year)