尝试使用python格式化带有前导零的传入日期

时间:2015-04-01 21:56:32

标签: python chameleon

我们在Chameleon 4.3中使用Python 2.5。

传入日期如下:

3/9/2015

我已经想出如何去除日期之外的/标记,所以我现在有了这个:

392015

现在,我需要在一个月内拥有前导零。

3 个答案:

答案 0 :(得分:0)

拆分然后填写并加入:

newDate = ''.join(i.zfill(2) for i in oldDate.split('/'))

答案 1 :(得分:0)

不是剥去斜线,而是将它们分开。您在列表中有3个不同的数字,与日,月和年有关,因此请仔细检查每个数字,如果长度为1,则在开头添加零。最后加入这些,你有你的电话号码。

还有另一种快速添加前导零的方法。使用str().zfill( num )会将字符串填充为零,直到它包含一定数量的字符。

既然您应该能够在第一段之后自己编写,我会添加一行版本,这样您就可以看到它有效,但不能复制它,因为它很明显你没有& #39;写下来。

i = "3/9/2015"

print ''.join(x.zfill(2) for x in i.split('/'))
# 03092015

这是一种没有zfill的方式:

print ''.join(('0' if len(x)<2 else '')+x for x in i.split('/'))

答案 2 :(得分:0)

如果你不想使用for循环或任何过于花哨的东西,只需做一些像这样简单的事情:

date = '392015'

newdate = '0' + date[0] + '0' + date[1:]

这将输出:

03092015

从字面上看,所有这一切都是“添加&#39;零。

更新:要使此原语技术适用于所有日期,只需使用两个原语&#39; if-statements&#39; ;)

date = '3/9/2015'
oldDate = date.split('/')

if len(oldDate[0]) < 2:
    oldDate[0]= '0' + oldDate[0]
if len(oldDate[1]) < 2:
    oldDate[1]= '0' + oldDate[1]

newDate = ''.join(oldDate)

(注意:我只是给出OP选项,绝不是我声称这是一种更好的方法)