【Python】日時データの処理(datetime)

Pythonでディレクトリ・フォルダを操作方法について入門者向けにまとめました。

【日時取得】現在日時(西暦)、現在時刻

Pythonでは、標準モジュール「datetime」を使うことで、現在の日時を取得できます。

■現在日時

# -*- coding: utf-8 -*- 
import datetime

today = datetime.date.today()

print(today) # 2016-12-12
print(today.year, "年", today.month,"月",today.day,"日") # 2016 年 12 月 12 
関連記事
1 【Python】現在日時(年・月・日)を取得

■現在時間

# -*- coding: utf-8 -*- 
import datetime

today = datetime.datetime.today()

print(today)
print(today.year, "年", today.month,"月",today.day, "日")
print(today.hour, "時", today.minute, "分", today.second, "秒", today.microsecond, "マイクロ秒")

"""
2016-12-12 10:54:22.284082
2016 年 12 月 12 日
10 時 54 分 22 秒 284082 マイクロ秒
"""
関連記事
1 【Python】現在時刻(時・分・秒・ミリ秒)を取得

【計算】日付の増減(加減算)、1年分の日付

特定の期間の日付を取得したいときなどに、日付を増減(加減算)したいことがあります。
Pythonモジュール「datetime」では、timedeltaメソッドで、年・月・日・時・分・秒単位で時間を変化させられます。

【書式】

dt.timedelta(years, months, days, hours, minutes)
# -*- coding: utf-8 -*-
import datetime as dt

date = dt.datetime(2017, 5, 3, 12, 00, 00)

date = date + dt.timedelta(days=5, hours=1, minutes=30)

print(date) # 2017-05-08 13:30:00

2017年5月3日12時00分00秒から5日と1時間30分後の日付を計算しています。

関連記事
1 【Python】datetimeモジュールで日付の増減

Pythonモジュール「datetime」では、timedeltaメソッドで、年・月・日・時・分・秒単位で日付を変化させることができます。

2017年1月1日~12月31日までの365日分の日付を表示します。

# -*- coding: utf-8 -*-
import datetime as dt

date = dt.datetime(2017, 1, 1, 0, 0)

for i in range(365):
    print(date)
    date += dt.timedelta(days=1)
関連記事
1 【Python】1年分の日付を取得

【変換】time型→datetime

Pythonモジュール「time」の日時オブジェクトを「datetime」の日時オブジェクトに変換します。

# -*- coding: utf-8 -*-
import time
import datetime

today = time.localtime()
print(today)

# time型からdatetime型に変換
today = datetime.datetime(*today[:6])
print(today)

"""
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=4, tm_hour=22, tm_min=1, tm_sec=53, tm_wday=3, tm_yday=277, tm_isdst=0)

2018-10-04 22:01:53
"""
関連記事
1 【Python】time型の日時オブジェクトをdatetime型に変換

【応用】うるう年の判定

Python言語の標準ライブラリ・モジュール「calendar」のisleapメソッドでうるう年の判別ができます。

【書式】

calendar.isleap(数値)

■返り値
数値が「うるう年」ならTrue(そうでないならFalse)

また、leapdayメソッドを用いることでうるう年の回数を求めることもできます。

【書式】

calendar.isleap(数値1, 数値2)

■返り値
数値1~数値2の間にある「うるう年」の回数

# -*- coding: utf-8 -*-
import calendar

# うるう年の探索
for year in range(2001, 2020):
    # うるう年の判定
    if(calendar.isleap(year) == True):
        print(year, "年はうるう年です。")

print("うるう年の回数:", calendar.leapdays(2001, 2020))

"""
2004年はうるう年です。
2008年はうるう年です。
2012年はうるう年です。
2016年はうるう年です。
うるう年の回数:4
"""
関連記事
1 【Python】うるう年の判定・回数カウント
関連記事
1 【Python入門】サンプル集
2 【Python】日時データの処理(datetime)
Python
技術雑記

コメント

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