# Python 3でのstrftimeを使用した先頭の0なしの日付フォーマット方法
Pythonで日付をフォーマットする際、strftime
メソッドは非常に便利です。しかし、標準のstrftime
フォーマットでは、日付や月の先頭に0が付くことがあります。この記事では、Python 3を使用して先頭の0を削除した日付フォーマットを実現する方法について説明します。
strftimeメソッドとは?
strftime
メソッドは、Pythonのdatetime
モジュールで提供されている日付フォーマット用のメソッドです。このメソッドを使うことで、日付や時刻を指定したフォーマットで文字列として出力することができます。
基本的なstrftimeの使用例
まずは、基本的なstrftime
の使用例を見てみましょう。
from datetime import datetime now = datetime.now() formatted_date = now.strftime("%Y-%m-%d") print(formatted_date)
このコードは、現在の日付を「年-月-日」の形式で出力します。しかし、月や日の値が一桁の場合、先頭に0が付いてしまいます。
先頭の0を削除する方法
先頭の0を削除するためには、strftime
のフォーマットコードを工夫して使います。具体的には、-
を使用することで、先頭の0を省略できます。
先頭の0なしの日付フォーマット例
以下のコードは、月と日に先頭の0が付かないようにフォーマットしています。
from datetime import datetime now = datetime.now() formatted_date = now.strftime("%Y-%-m-%-d") print(formatted_date)
このコードを実行すると、月と日の先頭に0が付かない形式で日付が出力されます。
別の方法: lstripを使用する
strftime
が提供するフォーマットコードに満足できない場合、文字列のlstrip
メソッドを使用することもできます。
from datetime import datetime now = datetime.now() formatted_date = now.strftime("%Y-%m-%d").replace("-0", "-") print(formatted_date)
このコードは、strftime
でフォーマットした後にreplace
メソッドを使って「-0」を「-」に置き換えています。
まとめ
Python 3でstrftime
を使用して先頭の0なしの日付をフォーマットする方法を紹介しました。%-m
や%-d
を使用する方法、lstrip
を使う方法など、状況に応じて使い分けることができます。これにより、より柔軟に日付フォーマットを管理することが可能です。
Python 3のstrftimeメソッドを使用して日付をフォーマットする際、先頭の0を付けない日付を表示する方法は、日付フォーマット文字列に”%-d”を使用することです。この方法を使うと、1日から9日までの日付が1桁で表示され、先頭に0が付きません。例えば、”%Y年%m月%-d日”というフォーマット文字列を使用すると、2022年10月1日のように日付が表示されます。このように、Python 3のstrftimeメソッドを使って日付をフォーマットする際に、先頭の0を付けない日付を表示する方法を簡単に実現できます。