Python の time モジュールの詳細説明
Python プログラミングでは、時間を処理して操作する必要がよくあります。 Python の標準ライブラリは、時間関連の操作を処理するための time モジュールを提供します。この記事ではtimeモジュールについて詳しく紹介します。
- time モジュールの概要
time モジュールは Python 標準ライブラリの一部であり、処理時間に関するいくつかの関数とクラスを提供します。このモジュールには主に次の側面が含まれます。
- 時刻取得: 現在時刻とスリープ待機実行時間を取得します。
- 時刻形式変換: 時刻を文字列に変換するか、文字列の形式を時刻に変換します。
- 時間の計算: 2 つの時間の差を計算します。
- 時間演算:加算、減算、比較、判定などの演算を時間通りに実行します。
- 時刻取得
time モジュールは time() 関数を使用して現在時刻のタイムスタンプを取得します。以下は簡単な例です:
import time
now = time.time()
print("当前时间戳:", now)
ログイン後にコピー
出力:
当前时间戳: 1563431484.0177832
ログイン後にコピー
時間を表示しやすくするために、time モジュールは、タイムスタンプを変換して時刻を表す asctime() 関数も提供します。 local 時刻の文字列。以下に例を示します。
import time
now = time.time()
localtime = time.localtime(now)
asctime = time.asctime(localtime)
print("当前时间:", asctime)
ログイン後にコピー
出力:
当前时间: Mon Jul 18 14:04:44 2019
ログイン後にコピー
さらに、sleep() 関数を使用すると、指定した時間 (秒単位) プログラムを一時停止して、プログラムを待機させることができます。実行前の一定期間。以下は sleep() 関数の使用例です。
import time
print("程序开始执行...")
time.sleep(5)
print("程序执行结束。")
ログイン後にコピー
上記のコードを実行すると、プログラムは 5 秒間一時停止し、「プログラムの実行が終了しました。」
と出力されます。 #時刻形式の変換
Python プログラミングでは、タイムスタンプを人間が判読できる時刻形式に、またはその逆に変換する必要があることがよくあります。 time モジュールには、時刻形式の変換に使用される strftime() と strptime() という 2 つの主要な関数が用意されています。
a. strftime()
strftime() 関数は、時間を文字列にフォーマットするために使用される関数です。以下は例です:
import time
t = (2019, 7, 18, 14, 30, 0, 0, 0, 0)
localtime = time.mktime(t)
asctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(localtime))
print("时间格式化字符串:", asctime)
ログイン後にコピー
出力:
时间格式化字符串: 2019-07-18 14:30:00
ログイン後にコピー
上記のコードでは、最初に時刻 t をタイムスタンプ localtime に変換し、次に strftime() 関数を使用して localtime をフォーマットします。必要に応じて文字列形式。
strftime() 関数のパラメータには、フォーマット文字列と時間タプルが含まれます。フォーマット文字列は、時間タプルを文字列に変換するためのテンプレートです。一般的に使用される書式設定文字は次のとおりです。
書式設定文字 | 意味 |
%a | 曜日の省略形 |
%A | 曜日の完全名 |
%b | 月の略称 |
%B | 月の完全名 |
%c | 現地時間の表現形式 |
%d | 月の日 |
##%H in 24 hours 時間数を 12 時間形式で表現します | |
%I時間数を 12 時間形式で表現します | |
%j その年の日 | |
%m数字で表される月 (01~12) | |
%M分 | |
%p午前または午後 | |
%S 秒 | |
%U年間の週数。日曜日が週の始まりです | |
%w 曜日、0 (日曜日) ~ 6 (土曜日) | |
%W 年間の週数。月曜日は週の始まりです | |
%xローカルの対応する日付表現 | |
%XXローカル対応時間表現形式 | |
%y世紀年表現 (00 ~ 99) を削除 | |
%Y完全な年表現 (0000~9999) | |
%zUTC からの時間差time | |
% Zタイムゾーンの名前 | |
%%文字「」 %"自体 | |
#b. strptime()
strptime()函数则是将字符串转换为时间类型。以下是一个示例:
import time
str_time = "2019-07-18 14:30:00"
struct_time = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")
print("转换后的时间元组:", struct_time)
ログイン後にコピー
输出:
转换后的时间元组: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=18, tm_hour=14, tm_min=30, tm_sec=0, tm_wday=3, tm_yday=199, tm_isdst=-1)
ログイン後にコピー
在上述代码中,我们使用strptime()函数将格式为"%Y-%m-%d %H:%M:%S"的字符串str_time转换为时间元组。
- 时间计算
在Python编程中,我们也经常需要进行时间的计算,如计算两个时间之间的差值、或将一个时间加上或减去一段时间后得到一个新的时间。time模块中提供了很多函数来实现这些计算操作。
a. 时间差值计算
计算两个时间之间的差值可以使用time模块中的mktime()函数,该函数将时间元组转换为时间戳,我们可以通过计算两个时间的时间戳之差来得到它们之间的时间差。以下是一个示例:
import time
t1 = (2019, 7, 18, 14, 30, 0, 0, 0, 0)
t2 = (2019, 7, 19, 14, 30, 0, 0, 0, 0)
t1_stamp = time.mktime(t1)
t2_stamp = time.mktime(t2)
diff_secs = int(t2_stamp - t1_stamp)
print("两个时间之间相差的秒数:", diff_secs)
ログイン後にコピー
输出:
两个时间之间相差的秒数: 86400
ログイン後にコピー
在上述代码中,我们首先将两个时间t1、t2转换为时间戳t1_stamp、t2_stamp,接着计算两个时间戳之差得到时间差值(单位为秒)。
b. 时间加减计算
时间加减计算可以使用time模块中的mktime()函数和localtime()函数。我们可以将一个时间元组转换为时间戳,然后加上一段时间的秒数,再将结果转换为时间元组即可得到一个新的时间。以下是一个示例:
import time
t1 = (2019, 7, 18, 14, 30, 0, 0, 0, 0)
t1_stamp = time.mktime(t1)
days = 1
hours = 3
minutes = 30
seconds = 0
add_secs = days * 86400 + hours * 3600 + minutes * 60 + seconds
new_stamp = t1_stamp + add_secs
new_time = time.localtime(new_stamp)
new_strftime = time.strftime("%Y-%m-%d %H:%M:%S", new_time)
print("加上一段时间后的新时间:", new_strftime)
ログイン後にコピー
输出:
加上一段时间后的新时间: 2019-07-19 18:00:00
ログイン後にコピー
在上述代码中,我们首先将时间t1转换为时间戳t1_stamp,然后定义了要加的时间间隔,接着将时间间隔的总秒数计算出来,将其加上t1_stamp得到新的时间戳new_stamp,最后使用localtime()函数和strftime()函数将新的时间转换为字符串表示。
- 时间操作
time模块中定义了很多函数用于对时间进行各种操作。
a. 时间比较
time模块中的函数cmp()、min()和max()可以用来比较时间的大小。
b. 时间运算
time模块中的函数add()、sub()可以用来对时间进行加减运算。
c. 时间格式化
time模块中还提供了一个函数asctime(),用于将时间元组转换为表示当地时间的字符串。
以下是一个示例:
import time
t = (2019, 7, 18, 14, 30, 0, 0, 0, 0)
asctime = time.asctime(t)
print("时间格式化字符串:", asctime)
ログイン後にコピー
输出:
时间格式化字符串: Thu Jul 18 14:30:00 2019
ログイン後にコピー
以上是time模块的基本使用方式和一些常用函数的介绍。通过学习并掌握time模块的使用方法,我们可以更加方便地进行Python编程中的时间操作与计算。
以上がPythonのtimeモジュールの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-13 13:32:21
-
2024-10-12 11:58:51
-
2024-10-11 20:06:51
-
2024-10-11 18:59:31
-
2024-10-11 18:30:51
-
2024-10-11 15:51:51
-
2024-10-11 15:42:10
-
2024-10-11 14:41:20
-
2024-10-11 14:08:31
-
2024-10-11 13:42:21