簡體   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