% b против% B в модуле datetime (python 3) - PullRequest
0 голосов
/ 09 мая 2020
fmt_1 = '%a %d %B %Y %H:%M:%S %z'
fmt_2 = '%a %d %b %Y %H:%M:%S %z'

t1="Sat 14 Sep 2126 00:36:44 +1400"
code1= dateime.datime.strptime(t1,fmt_1)  #run time error

code2= dateime.datime.strptime(t1,fmt_2)   #right code

Я получил ошибку времени выполнения для fmt_1 для этого и исправил с помощью fmt_2

в чем разница между% b и% B?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

% b использовать для сокращенного названия месяца локали и % B использовать для полного названия месяца. t1 = "Sat 14 Sep 2126 00:36:44 +1400" это строка Sep короткое имя. вот почему вы получаете ошибку в fmt_1 из-за несоответствия формата. Вы можете следовать этому: c https://docs.python.org/2.6/library/datetime.html

0 голосов
/ 09 мая 2020

Из документации о кодах форматов

  • %b означает месяц в качестве сокращенного названия локали. Например, Jan, Feb, …, Dec

  • %B для месяца в качестве полного имени локали. Например, January, February, …, December


В Sat 14 Sep 2126 00:36:44 +1400 месяц Sep находится в формате abbreviated, поэтому %b подходит, где %B не

...