0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

意外と出てこない「年月」関係の0paddingについて(2022年3月->202203)

Posted at

最近YYYY年mm月というデータを「YYYYmm」に持ち直す際に、
1~9月だとそのまま結合すると
2022年1月-> 20221
となり、202201のようなものがいいんだよな〜っていうことがあると思います。

そこで、0 paddingというものを知りました。

知る前はゴリ押しでif文とかで作ってたんですが、先輩のレビュー時にアドバイスというか教えていただき、1行であたかも簡単にできることを知りました。
(今考えれば、だれでもこういうデータの変換をするので、そういう関数くらいあるよね、とは思うんですが、そのときは「変換せねば!」という思いでいっぱいでした。)

組み込み関数formatで一撃

結論はこれでした。

import re

wareki_regex = "(\d*)年(\d*)月"

year_month = "2022年3月"

m = re.match(wareki_regex, year_month)

year, month = m.group(1), int(m.group(2))

print(f"year={year}, month={month}")
print(format(month, '02'))
# これ
print(f"0 padding month -> {format(month, '02')}")

year_0padding_month = year + str(format(month, "02"))

print(year_0padding_month)

>>>
year=2022, month=3
03
0 padding month -> 03
202203

大体、format(value, '希望するformat')という感じなんですが、valueは特に記載がないものの、intの方が好ましい感じでした。(実際文字列のまま入れるとエラー出ました。。)
参考元:http://dalmore.blog7.fc2.com/blog-entry-172.html

終わり

これだけなんですが、実際に「こういう関数って当たるまで知らずに過ごしちゃうよね」って思った案件だったので、自分の復習も兼ねて書きました!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?