Python 3でのPython strftime – 先頭の0なしの日付

PYTHON3 チュートリアル

# 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を付けない日付を表示する方法を簡単に実現できます。

購読
通知
0 Comments
Inline Feedbacks
View all comments