我正在尝试将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
答案 0 :(得分:4)
这是因为%d
不代表days
。使用字符串格式时,它代表数字,并且是数字的占位符。
您还应该使用几个月。
monthstr = ".%d" % now.month
由于您希望格式为01 and not like 1
,因此请使用@ user3483203 answer。
答案 1 :(得分:3)
您在此处使用的字符串格式如datetime格式。字符串格式具有自己的"mini-language",并且 m
在该语言中不是有效的符号。
出于您的目的,最好使用strftime
>>> now.strftime('.%m')
'.07'