ホームページ > バックエンド開発 > Python チュートリアル > Pythonのtimeモジュールの詳しい説明

Pythonのtimeモジュールの詳しい説明

王林
リリース: 2023-06-10 11:17:13
オリジナル
6203 人が閲覧しました

Python の time モジュールの詳細説明

Python プログラミングでは、時間を処理して操作する必要がよくあります。 Python の標準ライブラリは、時間関連の操作を処理するための time モジュールを提供します。この記事ではtimeモジュールについて詳しく紹介します。

  1. time モジュールの概要

time モジュールは Python 標準ライブラリの一部であり、処理時間に関するいくつかの関数とクラスを提供します。このモジュールには主に次の側面が含まれます。

  1. 時刻取得: 現在時刻とスリープ待機実行時間を取得します。
  2. 時刻形式変換: 時刻を文字列に変換するか、文字列の形式を時刻に変換します。
  3. 時間の計算: 2 つの時間の差を計算します。
  4. 時間演算:加算、減算、比較、判定などの演算を時間通りに実行します。
  5. 時刻取得

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%I%j%m%M%p%S%U%w %W%x%XX%y%Y%z% 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转换为时间元组。

  1. 时间计算

在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()函数将新的时间转换为字符串表示。

  1. 时间操作

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
in 24 hours 時間数を 12 時間形式で表現します
時間数を 12 時間形式で表現します
その年の日
数字で表される月 (01~12)
午前または午後
年間の週数。日曜日が週の始まりです
曜日、0 (日曜日) ~ 6 (土曜日)
年間の週数。月曜日は週の始まりです
ローカルの対応する日付表現
ローカル対応時間表現形式
世紀年表現 (00 ~ 99) を削除
完全な年表現 (0000~9999)
UTC からの時間差time
タイムゾーンの名前
文字「」 %"自体