1.関数:
時間モジュールには、主に日付と時刻の関数を提供するさまざまなクラスと関数が含まれています。
1.日付と時刻の形式を文字列に変換します
2.文字列から日付と時刻を復元します
2、time.struct_timeクラスのさまざまな属性
フィールド名 | フィールドの意味 | 例えば |
---|---|---|
tm_year | 年 | 2019、2020など(年を示す) |
tm_mon | 月 | 範囲:1〜12 |
tm_mday | 日 | 範囲:1〜31 |
tm_hour | 時間 | 範囲:0〜23 |
tm_min | 分 | 範囲:0〜59 |
tm_sec | 2番目 | 範囲:0〜59 |
tm_wday | 週間 | 注:月曜日は0、範囲:0〜6 |
tm_yday | 年間最優秀日 | 例:183は1年で183日目、範囲:1〜366 |
tm_isdst | 夏時間 | 0、1、または-1 |
3.タイムモジュールで一般的に使用される関数は次のとおりです。
関数 | 使用する |
---|---|
time.asctime() | タイムタプルまたはstruct_timeをタイムストリングに変換します。パラメーターtが指定されていない場合、現在の時刻がデフォルトで変換されます。 |
time.ctime() | 秒(タイムスタンプ)で表される時間をタイムストリングに変換します。 |
time.gmtime(]) | 秒数(タイムスタンプ)で表される時刻を、UTCタイムゾーン(0タイムゾーン)の現在時刻のstruct_timeオブジェクトに変換します。パラメーターが渡されない場合は、現在時刻が使用されます。 |
time.localtime() | 秒数(タイムスタンプ)で表される時刻をローカルの現在時刻のstruct_timeオブジェクトに変換します。パラメーターが渡されない場合は、現在の時刻が使用されます。 |
time.mktime() | この関数はlocaltimeの逆関数であり、struct_timeオブジェクトまたはタプルで表される時間を1970年1月1日の0:00から経過した秒数に変換するために使用されます。 |
time.perf_counter() | パフォーマンスカウンターの値を返します。単位は秒です。 |
time.process_time() | 現在のプロセスで使用されているCPU時間を返します。単位は秒です。 |
time.sleep(secs) | 数秒間一時停止します。プログラムをスリープ状態にし、何もせず、数秒待つだけです。 |
time.strftime() | 時間タプルまたはstruct_timeオブジェクトを、指定された形式の時間文字列にフォーマットします。パラメータtが指定されていない場合、デフォルトでは現在の時刻が使用されます。例:time.strftime( '%Y-%m-%d%H:%M:%S') |
time.strptime() | 変更された関数とstrftimeは互いに逆であり、文字列形式の時刻はstruct_timeオブジェクトに解析できます。 |
time.time() | 1970年1月1日の0:00から経過した秒数を返します。 |
time.timezone | ローカルタイムゾーンのタイムオフセットを秒単位で返します。注: |
time.tzname | ローカルタイムゾーンの名前を返します。注:tznameの後に括弧はありません。括弧を追加するとエラーが発生します。 |
補足:
時間モジュールの2つの関数strfiname()とstrptime()は互いに逆関数であり、その中でstrftime()はstruct_timeオブジェクトまたは時間タプルを時間文字列に変換するために使用され、strptime()関数は時間文字を話す文字列はstruct_timeオブジェクトに変換されます。どちらの関数もフォーマットテンプレートの記述を含みます。Pythonの時間フォーマット文字列でサポートされるコマンドを以下に示します。
命令 | 意味 |
---|---|
%a | 曜日のローカライズされた省略名。たとえば、SunはSundayを表します。 |
%A | 日曜日など、ローカライズされた曜日のフルネーム |
%b | 月のローカライズされた省略名。たとえば、Janは1月を表します。 |
%B | ローカライズされた月のフルネーム。たとえば、1月は1月を表します。 |
%c | ローカライズされた日付と時刻の表現。例:print(time.strftime( '%c'))、出力は次のとおりです。ThuJul 2 11:34:10 2020、つまり:週、月、日、時間:分:二年目 |
%d | 1か月の日数を表し、範囲:01〜31 |
%H | 24時間制の時間を表し、範囲:00〜23 |
%私 | 時間を12時間形式で表し、範囲:01〜12 |
%j | 年の日を示し、範囲:001〜366 |
%m | 月の値を示します。範囲:01〜12 |
%M | 分数を表し、範囲:00〜59 |
%p | 午前または午後のローカリゼーションメソッドを示します。strptime()関数を使用し、%I命令を使用して時間を解析する場合、%pは時間フィールドにのみ影響します。 |
%S | 表示分钟的数值,范围:00~61 ,没有错,该范围确实是00-61,找表示闰秒的时间戳时有效,而61则是由于一些历史原因造成的 |
%U | 表示一年中的第几周,以星期天为一周的第一天,范围:00~53,一年 中的第一个星期天为第一周,当使用strptime()函数解析时间字符串时,自由同时指定了星期几和年份该指令才会生效 |
%w | 表示星期几的数值,范围 -6 ,其中 代表周日 |
%W | 表示一年中的第几周,以星期天为一周的第一天,范围:00~53,一年 中的第一个星期天为第一周,当使用strptime()函数解析时间字符串时,自由同时指定了星期几和年份该指令才会生效 |
%x | 本地化的日期的表示形式,例如:07/02/20 |
%X | 本地化的时间的表不形式,例如:07/02/20 |
%y | 年份的缩写,范围:00~99,例如2020就简写成20 |
%Y | 年份的完整形式。如 2020 |
%z | 显示时区偏移 |
%Z | 显示时区名(如果时区不存在,则显示未空) |
%% | 用于表示%符号 |
实例:
import time
# 将当前时间转换为字符串
print(time.asctime())
# 将指定时间转换为时间字符串,时间元组的后面3个元素没有设置
print(time.asctime((2020, 12, 4, 12, 45, 3, 0, 0, 0))) #表示将2020年12月4日12时45分3秒转换为时间字符串
# 将以秒数代表的时间转换为时间字符串,转换为本地时间
print(time.ctime(30)) # Thu Jan 1 08:30 1970 (本地时间)
# 将以秒数代表的时间转换为struct_time对象,显示的是在0时区的时间
print(time.gmtime(30))
#将当前时间转换为struct_time对象, 显示的是在0时区的时间
print(time.gmtime())
# 将以秒数代表的时间转换为代表当前时间的struct_time对象,显示的是本地时间
print(time.localtime(30))
# 将以秒数代表的时间转换为代表当前时间的struct_time对象,显示的是本地时间
print(time.localtime())
# 将元组格式的时间转换为以秒数代表的时间(转换为时间戳)
print(time.mktime((2020, 12, 24, 10, 15, 15, 0, 0, 0)))
#返回性能计数器的值
print(time.perf_counter())
# 返回当前进程使用CPU的时间
print(time.process_time())
# 使程序暂停3秒(睡3秒)
print(time.sleep(3))
# 将当前时间转换为指定格式的字符串
print(time.strftime('%Y-%m-%d %H:%M:%S'))
Time = '2020年7月2日'
# 将指定时间字符串转换恢复成struct_time第次昂
print(time.strptime(Time, '%Y年%m月%d日'))
# 返回从1970年1月1日0点整到现在过了多少秒
print(time.time())
# 返回本地时区的时间偏移,以秒为单位
print(time.timezone) # 在中国东八区输出-28800