プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2022/02/16

[Python] datetime の strftime で Invalid format string になる

event_note2022/02/16 5:12

strftime で datetime から文字列に変換する際、Ubuntu では上手く動くのに、Windows だと ValueError: Invalid format string のエラーが発生しました。

どうやら Ubuntu と Windows で一部書式が異なるようです。

例えば、ゼロパディングをなくしたい場合は、以下のようになります。

# Linux の場合
today.strftime('%-m')

# Windows の場合
today.strftime('%#m')

Python の範囲内であればクロスプラットフォームで動作すると思っていたのにこんな罠があるとは。

上記の例であれば以下のようにすればいいだけですが、

str(today.month)

strftime を使い場合、大抵もっと複雑な書式で指定すると思うので、どう対応すればいいんでしょうね。