こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- Pythonのdatetimeモジュールの使い方を知りたい
- 日付型⇄文字列データの相互変換方法が知りたい
- 日付型⇄数値型データの相互変換方法が知りたい
【Python】datetimeモジュールとは?
datetimeとは、日付や時刻に対して様々な操作が可能なモジュールです。
datetimeモジュールを活用することで、次のような日付操作が実現できます。
- 現在の日付を取得
- フォーマット(例えばYYYY-MM-DD)を指定して日付を取得
- 日付型データ同士を計算
datetimeモジュールには、3種類のクラスが存在します。
クラス名 | 概要 | フォーマット例 |
---|---|---|
datetime | 日付と時刻を取得 | YYYY-MM-DD HH:MM:SS |
date | 日付を取得 | YYYY-MM-DD |
time | 時刻を取得 | HH:MM:SS |
本記事ではこの中でもdatetime
およびdate
クラスを活用したデータ型変換方法について解説します。
【Python】文字列型から日付型(datetime・date)に変換
文字列型データを日付型データに変換する方法について解説します。
文字列型→日付型(datetime)変換
文字列型データを日付型(datetime)データに変換する場合、次の方法が有効です。
from datetime import datetime
# 文字列型データ(YYYY-MM-DD HH:MM:SS)
str_type = '2022-01-01 18:05:00'
# 日付変換(YYYY-MM-DD HH:MM:SS)
datetime_type = datetime.strptime(str_type, '%Y-%m-%d %H:%M:%S')
# 出力イメージ(datetime_type)
# 2022-01-01 18:05:00
文字列型→日付型(date)変換
文字列型データを日付型(date)データに変換する場合、次の方法が有効です。
from datetime import datetime, date
# 文字列(YYYY-MM-DD HH:MM:SS)
str_type = '2022-01-01 18:05:00'
# 日付変換(YYYY-MM-DD HH:MM:SS)
datetime_type = datetime.strptime(str_type, '%Y-%m-%d %H:%M:%S')
# Datetime → Date変換(YYYY-MM-DD)
date_type = date(datetime_type.year, datetime_type.month, datetime_type.day)
# 出力イメージ(date_type)
# 2022-01-01
【Python】日付型(datetime)から文字列型に変換
日付型データを文字列型データに変換する方法について解説します。
日付型→文字列型(YYYY-MM-DD HH:MM:SS)変換
日付型(datetime)データを文字列型データ(YYYY-MM-DD HH:MM:SS)に変換する場合、次の方法が有効です。
from datetime import datetime
# 本日日付 (Datetime)
today_datetime_type = datetime.today()
# 文字列変換(YYYY-MM-DD HH:MM:SS)
today_str_type = today_datetime_type.strftime("%Y-%m-%d %H:%M:%S")
# 出力結果(today_str_type)
# 2022-12-17 06:49:02
日付型→文字列型(YYYY-MM-DD)変換
日付型(datetime)データを文字列型データ(YYYY-MM-DD)に変換する場合、次の方法が有効です。
from datetime import datetime
# 本日日付 (Datetime)
today_datetime_type = datetime.today()
# 文字列変換(YYYY-MM-DD)
today_str_type = today_datetime_type.strftime("%Y-%m-%d")
# 出力結果(today_str_type)
# 2022-12-17
【Python】数値型から日付型(datetime・date)に変換
数値型データを日付型データに変換する方法について解説します。
数値型(YYYYMMDD)→日付型(datetime)変換
数値型(YYYYMMDD)データを日付型(datetime)データに変換する場合、次の方法が有効です。
from datetime import datetime
import pandas as pd
# 数値型データ(YYYYMMDD)
int_type = 20221227
# 日付変換(YYYY-MM-DD HH:MM:SS)
datetime_type = pd.to_datetime(str(int_type))
# 出力イメージ(datetime_type)
# 2022-12-27 00:00:00
数値型(YYYYMMDD)→日付型(date)変換
数値型(YYYYMMDD)データを日付型(date)データに変換する場合、次の方法が有効です。
from datetime import datetime, date
import pandas as pd
# 数値型データ(YYYYMMDD)
int_type = 20221227
# 日付変換(YYYY-MM-DD HH:MM:SS)
datetime_type = pd.to_datetime(str(int_type))
# 日付変換(YYYY-MM-DD)
date_type = date(datetime_type.year, datetime_type.month, datetime_type.day)
# 出力イメージ(date_type)
# 2022-12-27
【Python】日付型(datetime)から数値型に変換
日付型データから数値型データに変換する方法について解説します。
日付型(datetime)→数値型(YYYYMMDD)変換
日付型(datetime)データを数値型(YYYYMMDD)データに変換する場合、次の方法が有効です。
from datetime import datetime
# 本日日付(YYYY-MM-DD HH:MM:SS)
today = datetime.today()
# 出力イメージ(today)
# 2022-12-17 07:53:50.453942
# 数値型変換(YYYYMMDD)
int_type = today.year * 10000 + today.month * 100 + today.day
# 出力イメージ(int_type)
# 20221217
日付型(datetime)→数値型(年・月・日・時間・分・秒)個別変換
日付型(datetime)データの数値型データ変換に際して、年・月・日・分・秒毎に抽出したい場合、次の方法が有効です。
from datetime import datetime
# 本日日付
today = datetime.today()
# 数値型変換
year = today.year # 年
month = today.month # 月
day = today.day # 日
hour = today.hour # 時間
minute = today.minute # 分
second = today.second # 秒
# 出力
print("年:{}".format(year))
print("月:{}".format(month))
print("日:{}".format(day))
print("時間:{}".format(hour))
print("分:{}".format(minute))
print("秒:{}".format(second))
# 出力イメージ
# 年: 2022
# 月: 12
# 日: 17
# 時間: 7
# 分: 59
# 秒: 13
【参考】Pythonを活用した様々なお役立ち情報
当サイトではPythonを活用した様々なお役立ち情報を配信しています。
Pythonでできること・仕事に応用
「Pythonで実現できることを知りたい」「Pythonスキルを仕事で活かしたい」方はこちら!
Python✖️AI・機械学習
Python活用の最大メリットの1つであるAI・機械学習について詳しく知りたい方はこちら!
Python✖️投資自動化(仮想通貨)
Pythonはフィンテックとの相性が良く、その中でも仮想通貨自動売買タスクは近年注目度の高い領域です。フィンテック・投資に興味がある方はこちら!
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら