pythonタイムモジュール-timeとdatetime
4265 ワード
転載先:https://www.cnblogs.com/pycode/p/date.html作者:君酔タイムモジュールpython中时间表示方法有:タイムスタンプ、すなわち1975年1月1日00:00:00から現在までの秒数;フォーマットされた時間文字列;時間struct_timeメタグループ.struct_timeメタグループの要素は主にtm_を含むyear(年)、tm_mon(月)、tm_mday(日)、tm_hour(時)、tm_min(分)、tm_sec(秒)、tm_wday(weekday 0-6(0は日曜日)、tm_yday(1年目の数日目1-366)、tm_isdst(サマータイムかどうか) time共通関数 time.time()は現在のタイムスタンプを返します
time.time() 1465370844.096474
time.ctime()は、この形式の時刻文字"Wed Jun 8 15:27:48 2016"を返し、現在時刻を表示する.タイムスタンプの変換も可能
time.ctime() ‘Wed Jun 8 15:27:48 2016’
time.ctime(time.time()-86400) ‘Tue Jun 7 15:29:36 2016’
time.gmtimeタイムスタンプをstruct_に変換timeフォーマット、これはグリニッジ0タイムゾーンの時間を表示します
time.gmtime() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=7, tm_min=34, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
time.gmtime(time.time() - 86400) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=7, tm_min=34, tm_sec=41, tm_wday=1, tm_yday=159, tm_isdst=0)
time.localtime現在のシステムタイムスタンプをstruct_に変換time形式
time.localtime() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=35, tm_sec=33, tm_wday=2, tm_yday=160, tm_isdst=0)
time.localtime(time.time() - 86400) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=37, tm_sec=10, tm_wday=1, tm_yday=159, tm_isdst=0)
time.mktime struct_timeフォーマットをタイムスタンプに戻す
now = time.localtime() now time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) time.mktime(now) 1465371508.0
time.strftime struct_timeフォーマットを指定した文字列フォーマットに変換
now = time.localtime() now time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) last = time.localtime(time.time() - 86400) last time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=40, tm_sec=23, tm_wday=1, tm_yday=159, tm_isdst=0) time.strftime(“%Y-%m-%d %H:%M:%S”,last) ‘2016-06-07 15:40:23’ time.strftime(“%Y-%m-%d %H:%M:%S”,now) ‘2016-06-08 15:38:28’
time.strptimeカスタム時間フォーマットの文字列をstruct_に変換time形式
time.strptime(“2016-06-08”,”%Y-%m-%d”) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=160, tm_isdst=-1) time.strptime(“2016-06-08 15:50:44”,”%Y-%m-%d %H:%M:%S”) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=50, tm_sec=44, tm_wday=2, tm_yday=160, tm_isdst=-1)
time.sleep一時停止時間はshellのsleep()の他の
時間フォーマット:フォーマット説明%a簡略化曜日名%A表示完全曜日名%b簡略化月名%B表示完全月名%cローカル対応日時表示%d表示当月何日目%H 24時間表示時間%I 12時間表示時間%j表示当年何日目%m表示月数%M表示分)%p本地amまたはpmの対応する記号%Sは秒数を示す)%Uの1年間の曜日%wは曜日の数日目に表示され、デフォルトでは、月曜日%Wと%Uがほぼ同じ%xローカル対応日%Xローカル対応時間%y世紀の年(00-99)%Yの完全な年%Zタイムゾーンの名前(空の文字が存在しない場合)%'%'文字時間関数間の変換関係を0から表します. datetime datimeはtimeのアップグレード版で、date(日付)、time(時間)、datetime(日付時間)の3種類を個別に管理できます.主に以下の4つのクラスからなる datetime.datetime共通関数(datetime.date datetime.time共通)#datetime.datetime.today()は、現在の日付と時刻をデフォルトで返すオブジェクトです.日付と時刻をカスタマイズすることもできます.
File “”, line 1 last = datetime.datetime(2016,05,08,11,23,55) ^ SyntaxError: invalid token
datetime.datetime.now()現在時刻を返す
datetime.datetime.now() datetime.datetime(2016, 6, 8, 16, 44, 29, 694398)
# datetime.strftime#カスタムフォーマット時間
today.strftime(“%I:%M:%S %p %d/%m/%Y”) ‘04:34:08 PM 08/06/2016’
# datetime.datetime.timple()時間をstruct_に変換time形式
today.timetuple() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=16, tm_min=34, tm_sec=8, tm_wday=2, tm_yday=160, tm_isdst=-1)
#datetime.replace()は、置換後のdateオブジェクトを返します.
last = today.replace(1949,10,1) print(last) 1949-10-01 16:34:08.163371 last = today.replace(year=1919,month=3,day=2) print(last) 1919-03-02 16:34:08.163371
datetime.datetime.strptime文字列をログ形式オブジェクトに変換
a = “2016-06-08 17:18:19” b = datetime.datetime.strptime(a,”%Y-%m-%d %H:%M:%S”) print(a) 2016-06-08 17:18:19 print(b) 2016-06-08 17:18:19 print(type(a))
time.time() 1465370844.096474
time.ctime()は、この形式の時刻文字"Wed Jun 8 15:27:48 2016"を返し、現在時刻を表示する.タイムスタンプの変換も可能
time.ctime() ‘Wed Jun 8 15:27:48 2016’
time.ctime(time.time()-86400) ‘Tue Jun 7 15:29:36 2016’
time.gmtimeタイムスタンプをstruct_に変換timeフォーマット、これはグリニッジ0タイムゾーンの時間を表示します
time.gmtime() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=7, tm_min=34, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0)
time.gmtime(time.time() - 86400) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=7, tm_min=34, tm_sec=41, tm_wday=1, tm_yday=159, tm_isdst=0)
time.localtime現在のシステムタイムスタンプをstruct_に変換time形式
time.localtime() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=35, tm_sec=33, tm_wday=2, tm_yday=160, tm_isdst=0)
time.localtime(time.time() - 86400) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=37, tm_sec=10, tm_wday=1, tm_yday=159, tm_isdst=0)
time.mktime struct_timeフォーマットをタイムスタンプに戻す
now = time.localtime() now time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) time.mktime(now) 1465371508.0
time.strftime struct_timeフォーマットを指定した文字列フォーマットに変換
now = time.localtime() now time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=38, tm_sec=28, tm_wday=2, tm_yday=160, tm_isdst=0) last = time.localtime(time.time() - 86400) last time.struct_time(tm_year=2016, tm_mon=6, tm_mday=7, tm_hour=15, tm_min=40, tm_sec=23, tm_wday=1, tm_yday=159, tm_isdst=0) time.strftime(“%Y-%m-%d %H:%M:%S”,last) ‘2016-06-07 15:40:23’ time.strftime(“%Y-%m-%d %H:%M:%S”,now) ‘2016-06-08 15:38:28’
time.strptimeカスタム時間フォーマットの文字列をstruct_に変換time形式
time.strptime(“2016-06-08”,”%Y-%m-%d”) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=160, tm_isdst=-1) time.strptime(“2016-06-08 15:50:44”,”%Y-%m-%d %H:%M:%S”) time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=15, tm_min=50, tm_sec=44, tm_wday=2, tm_yday=160, tm_isdst=-1)
time.sleep一時停止時間はshellのsleep()の他の
時間フォーマット:フォーマット説明%a簡略化曜日名%A表示完全曜日名%b簡略化月名%B表示完全月名%cローカル対応日時表示%d表示当月何日目%H 24時間表示時間%I 12時間表示時間%j表示当年何日目%m表示月数%M表示分)%p本地amまたはpmの対応する記号%Sは秒数を示す)%Uの1年間の曜日%wは曜日の数日目に表示され、デフォルトでは、月曜日%Wと%Uがほぼ同じ%xローカル対応日%Xローカル対応時間%y世紀の年(00-99)%Yの完全な年%Zタイムゾーンの名前(空の文字が存在しない場合)%'%'文字時間関数間の変換関係を0から表します.
>>> today = datetime.datetime.today()
>>> print(today)
2016-06-08 16:34:08.163371
>>> last = datetime.datetime(2016,5,8,11,23,55) # , 0
>>> print(last)
2016-05-08 11:23:55
>>>last = datetime.datetime(2016,05,08,11,23,55)
File “”, line 1 last = datetime.datetime(2016,05,08,11,23,55) ^ SyntaxError: invalid token
datetime.datetime.now()現在時刻を返す
datetime.datetime.now() datetime.datetime(2016, 6, 8, 16, 44, 29, 694398)
# datetime.strftime#カスタムフォーマット時間
today.strftime(“%I:%M:%S %p %d/%m/%Y”) ‘04:34:08 PM 08/06/2016’
# datetime.datetime.timple()時間をstruct_に変換time形式
today.timetuple() time.struct_time(tm_year=2016, tm_mon=6, tm_mday=8, tm_hour=16, tm_min=34, tm_sec=8, tm_wday=2, tm_yday=160, tm_isdst=-1)
#datetime.replace()は、置換後のdateオブジェクトを返します.
last = today.replace(1949,10,1) print(last) 1949-10-01 16:34:08.163371 last = today.replace(year=1919,month=3,day=2) print(last) 1919-03-02 16:34:08.163371
datetime.datetime.strptime文字列をログ形式オブジェクトに変換
a = “2016-06-08 17:18:19” b = datetime.datetime.strptime(a,”%Y-%m-%d %H:%M:%S”) print(a) 2016-06-08 17:18:19 print(b) 2016-06-08 17:18:19 print(type(a))