繁体   English   中英

不支持的格式字符'm'

[英]unsupported format character 'm'

我试图将now.month转换为十进制,所以它看起来像01而不是像1.代码是:

import datetime
now = datetime.datetime.now()
monthstr = ".%m" % now.month

它与%d一起工作在这一行

daystr = "file_%d" % now.day

我得到的错误是

ValueError:索引2处不支持的格式字符'm'(0x6d)

我也尝试使用新类型{:%m}。 错误是一样的。 我想念任何图书馆吗? 或者除了从1月到9月添加0到几个月之外还有其他方式

Python v.3.6.3

这是因为%d不代表days 它代表数字,并且在使用字符串格式时是数字的占位符。

您也应该使用它几个月。

monthstr = ".%d" % now.month

由于您希望格式为01 and not like 1 ,请使用@ user3483203 answer

您正在使用字符串格式,如日期时间格式。 字符串格式有自己的“迷你语言”m不是这种语言的有效符号。

为了您的目的,最好使用strftime

>>> now.strftime('.%m')
'.07'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM