Python時間システム
2576 ワード
Pythonのtimeモジュールとdatetimeモジュールは、pythonの時間を4つの表現で表す時間日付ツールを提供しています. datetime obj time obj/tuple posix timestamp timestring
datetime
現在の時刻を取得:
datetimeオブジェクトを作成するには:
datetimeは可変オブジェクトである、時間を変更するには新しいdatetimeオブジェクトを確立する必要がある.
ただしdatetimeはtimedeltaを減算、比較または減算することができます.
time tupleに変換:
time tupleからタイムスタンプに変換:
時間文字列としてフォーマット:
time
現在の時刻を取得:
datetimeに変換:
時間文字列としてフォーマット:
タイムスタンプに変換:
タイムスタンプ
UNIXタイムスタンプは、1970-1-1 00:00:00:00からの秒数として定義され、現在のタイムスタンプを取得します.
datetimeに変換:
timetupleに変換:
datetime
現在の時刻を取得:
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2016, 8, 21, 16, 21, 51, 631199)
datetimeオブジェクトを作成するには:
>>> d = datetime.datetime(year=2016, month=1, day=1, hour=12, minute=0, second=0)
>>> d
datetime.datetime(2016, 1, 1, 12, 0)
>>> d.year
2016
datetimeは可変オブジェクトである、時間を変更するには新しいdatetimeオブジェクトを確立する必要がある.
ただしdatetimeはtimedeltaを減算、比較または減算することができます.
>>> datetime.datetime.now() - d
datetime.timedelta(233, 16611, 887646)
>>> datetime.datetime.now() < d
False
>>> datetime.datetime.now() + datetime.timedelta(1)
datetime.datetime(2016, 8, 22, 16, 38, 30, 306021)
time tupleに変換:
>>> d.timetuple()
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)
time tupleからタイムスタンプに変換:
>>> time.mktime(datetime.datetime.now().timetuple())
1471777789.0
時間文字列としてフォーマット:
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %f')
'2016-08-21 16:46:20 634139'
time
現在の時刻を取得:
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=21, tm_hour=16, tm_min=48, tm_sec=24, tm_wday=6, tm_yday=234, tm_isdst=0)
datetimeに変換:
>>> datetime.datetime(*time.localtime()[0:6])
datetime.datetime(2016, 8, 21, 16, 56, 16)
時間文字列としてフォーマット:
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
'2016-08-21 16:55:01'
タイムスタンプに変換:
>>> time.mktime(time.localtime())
1471770256.0
タイムスタンプ
UNIXタイムスタンプは、1970-1-1 00:00:00:00からの秒数として定義され、現在のタイムスタンプを取得します.
>>> import time
>>> time.time()
1471777412.3293073
datetimeに変換:
>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2016, 8, 21, 19, 8, 22, 719951)
timetupleに変換:
>>> time.localtime(time.time())
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=21, tm_hour=19, tm_min=13, tm_sec=41, tm_wday=6, tm_yday=234, tm_isdst=0)