Избавиться от начальных нулей для строк даты в Python? [дубликат]

15
задан Community 23 May 2017 в 12:02
поделиться

4 ответа

@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'
8
ответ дан 1 December 2019 в 01:38
поделиться

Более простое и удобочитаемое решение - отформатировать его самостоятельно:

>>> d = datetime.datetime.now()
>>> "%d/%d/%d"%(d.month, d.day, d.year)
4/8/2012
21
ответ дан 1 December 2019 в 01:38
поделиться
>>> time.strftime('%-m/%-d/%Y',time.strptime('8/1/2009', '%m/%d/%Y'))
'8/1/2009'

Однако я подозреваю, что это зависит от реализации системы strftime () и может не быть полностью переносимым для всех платформ, если это важно для вас.

2
ответ дан 1 December 2019 в 01:38
поделиться

Я бы предложил очень простое регулярное выражение. Это не значит, что это критически важно для производительности, не так ли?

Найдите b0 и замените ничем.

I. e.:

import re
newstring = re.sub(r"\b0","",time.strftime('%m/%d/%Y',time.strptime('12/1/2009', '%m/%d/%Y')))
3
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: