[英]%b vs %B in datetime module (python 3)
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 有什么区别?
%b
表示月份,作为语言环境的缩写名称。 比如Jan, Feb, …, Dec
%B
表示月份作为语言环境的全名。 比如January, February, …, December
在Sat 14 Sep 2126 00:36:44 +1400
月份Sep
采用abbreviated
格式,因此%b
适合,而%B
不适合
%b用于区域设置的缩写月份名称, %B用于完整月份名称。 t1="Sat 14 Sep 2126 00:36:44 +1400"是这个字符串Sep是短名称。 这就是为什么您在 fmt_1 中因格式不匹配而出现错误的原因。 您可以关注此文档https://docs.python.org/2.6/library/datetime.html
你可以使用这个:
datetime.datetime.strptime("Sat 14 Sep 2126 00:36:44 +1400", '%a %d %b %Y %H:%M:%S %z').strftime("%Y-%m-%d %H:%M:%S")
并得到以下结果:
'2126-09-14 00:36:44'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.