Python Python入門

datetimeモジュールでよく使う日付データ処理のサンプルコードまとめ

この記事は約3分で読めます。

 

datetimeモジュールでの日付データの処理(文字列変換・加算・減算など)について毎回ググっている気がするので自分用にメモしました。

 

現在時刻を取得

 

import datetime
now = datetime.datetime.now()  # UTC
print(now)  
print(type(now))
<実行結果>
2022-09-16 05:43:02.513007
<class ‘datetime.datetime’>
today = datetime.date.today()
now = datetime.datetime.today()

print(today)  # 2022-09-16
print(now)    # 2022-09-16 15:11:44.342740

 

下のものは現在時刻の取得で datetime が二つ重なっていますが、間違いではありません。日付も時刻もハイフンで区切られています。

 

年・月・日をそれぞれ抽出する

today 関数で取得した「今日の日付」は date オブジェクトであり、年月日をそれぞれフィールドとして持ちます。この中から年・月・日を別々に抽出したい場合は以下のように記述します。
# 日付と時刻を構成する要素の取り出し
print(f'year: {now.year}, month: {now.month}, day: {now.day}')
print(f'hour: {now.hour}, minute: {now.minute}, second: {now.second}')
print(f'micro second: {now.microsecond}')

日付データの変換(datetime→文字型)

 

datetime型から文字型への変換は以下で実行可能です

import datetime 
dt = datetime.datetime.now()  # UTC
str_dt = dt.strftime('%Y/%m/%d %H:%M:%S')
print(str_dt)
<実行結果>
2022/09/23 17:23:58

日付データの変換(文字型→datetime型)

 

文字型をdatetime型に変換する際は以下のように記述します。

tstr = '2022-9-16 13:49:37'
tdatetime = datetime.datetime.strptime(tstr, '%Y-%m-%d %H:%M:%S')
print(tdatetime)
print(type(tdatetime))

 

日付の加算・減算

 

日本時間を取得する

 

import datetime
dt2 = now + datetime.timedelta(hours=9)
print(dt2)

 

hours=9で9時間加算、減算したい時は-9みたいな書き方で実行できます

 

翌日と昨日の日付を取得する

 

他にも引数には「days =日」「months = 月」も使えます。

 

tommorow = now + datetime.timedelta(days=1)
yesterday = now + datetime.timedelta(days=-1)

 

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました