不支持的格式字符 '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: unsupported format character 'm' (0x6d) at index 2
我也试过新类型 {:%m}。错误是一样的。
我想念任何图书馆吗?或者有没有别的办法,除了在 Jan 到 September 的月份里加 0
Python v.3.6.3
这是因为%d
不代表days
。它代表数字,在使用字符串格式时是数字的占位符。
你也应该用几个月。
monthstr = ".%d" % now.month
由于您希望格式为 01 and not like 1
,请使用 @user3483203 .
您在这里使用了日期时间格式等字符串格式。字符串格式有其自己的 "mini-language",并且 m
在此语言中不是有效符号。
为了您的目的,最好使用 strftime
>>> now.strftime('.%m')
'.07'
我正在尝试将 now.month 转换为十进制,因此它看起来像 01 而不是 1。代码是:
import datetime
now = datetime.datetime.now()
monthstr = ".%m" % now.month
它在 %d
这一行中有效daystr = "file_%d" % now.day
我得到的错误是
ValueError: unsupported format character 'm' (0x6d) at index 2
我也试过新类型 {:%m}。错误是一样的。 我想念任何图书馆吗?或者有没有别的办法,除了在 Jan 到 September 的月份里加 0
Python v.3.6.3
这是因为%d
不代表days
。它代表数字,在使用字符串格式时是数字的占位符。
你也应该用几个月。
monthstr = ".%d" % now.month
由于您希望格式为 01 and not like 1
,请使用 @user3483203
您在这里使用了日期时间格式等字符串格式。字符串格式有其自己的 "mini-language",并且 m
在此语言中不是有效符号。
为了您的目的,最好使用 strftime
>>> now.strftime('.%m')
'.07'