.net column
.NET開発者のためのブログメディア

Pythonでのdatetimeを使ったformat指定方法とは?datetimeの基本的な使い方を紹介!

 
Pythonでのdatetimeを使ったformat指定方法とは?datetimeの基本的な使い方を紹介!
基本情報技術者試験の試験対策はこちら>>

SE
日付や時間データを操作できるようにするには、どうすればいいのか悩んでいます。

PM
なるほど。では、datetimeというモジュールを使った指定方法を見ていきましょう。

Pythonでのdatetimeを使ったformat指定方法とは?


今回は、Pythonでのdatetimeを使ったformat指定方法について説明します。

ここでは、以下について紹介します。
・datetimeの基本的な使い方
・日時を日付に変換
・日時を時刻に変換
・日時を曜日に変換
・ミリ秒
・タイムゾーン
・0埋めしない方法

Pythonでのdatetimeを使ったformat指定方法に興味のある方はぜひご覧ください。

datetimeの基本的な使い方

Pythonでのdatetimeの基本的な使い方を紹介します。datetimeを使用するには、プログラムの先頭に「import datetime」を記述してください。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。※プログラムを実行する日時によって、結果は変動します。

プログラム実行時の日時が表示されることが分かります。

この日時から、様々な情報(年/月/日 など)が取得できます。実際のソースコードを見てみましょう。

実行結果は以下のようになります。※プログラムを実行する日時によって、結果は変動します。

weekday()は曜日が取得できます。月曜日が0、火曜日が1、となりますので、5は土曜日になります。このように、Pythonではdatetimeを使用すれば、日時を取得でき、時刻から様々な情報を取得できます。

日時を日付に変換

Pythonでformatを使用する方法を紹介します。日時を日付formatに変換してみます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

%Yは4桁の西暦、%yは上2桁を除いた西暦、%mが月、%dが日になります。これらのフォーマットに自由な文字列を付与して文字列を生成することができます。

日時を時刻に変換

次は、formatを指定して日時を時刻に変換してみます。実際のソースコードを見てみましょう。

実行結果は以下のようになります。※プログラムを実行する日時によって、結果は変動します。

%Hは24時間表記の時、%Iは12時間表記の時、%Mは分、%Sは秒になります。また、%pは「AM」「PM」などの表示します。

日時を曜日に変換

次は、formatを指定して日時を曜日に変換してみます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。※プログラムを実行する日時によって、結果は変動します。

%aは曜日の省略形、%Aは曜日、%wは曜日を表す数字(0が日曜日, 1が月曜日,)、%Wは年が始まってから何週目かを表します。

ミリ秒

Pythonでミリ秒を扱う方法を紹介します。isoformatを使用します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

timespecに「milliseconds」を指定することで、ミリ秒までを扱えるようになります。

タイムゾーン

Pythonでは、タイムゾーンを取得することもできます。%Zでタイムゾーンが取得できます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

タイムゾーンがない場合には空文字列になります。

0埋めしない

Pythonのformatでは、デフォルトでは0埋めされています。これでは見辛いので、0埋めをさせないこともできます。Linuxの場合は「-」を指定します。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。※プログラムを実行する日時によって、結果は変動します。

「-」を指定することで、0埋めされないフォーマットになったことが分かります。

SE
一から指定すると大変ですが、このdatetimeを利用すれば、簡単に確実なプログラミングが可能ですね。

PM
今回紹介したコードをマスターすれば、正確な日付処理も簡単ですね。

まとめ

いかがでしたでしょうか。Pythonでのdatetimeを使ったformat指定方法について説明しました。基本的な使い方から、formatを指定した変換方法について紹介しました。

ぜひご自身でPythonのソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags