您的位置:

用 Python 计算时间

随着时代的发展,时间成为了人们生活中必不可少的一部分。在计算机编程领域中,计算时间是一个非常重要的概念,Python 作为一种编程语言,具有非常强大的时间计算功能。本文将介绍 Python 中计算时间相关的知识,包括时间模块的使用以及时间计算法则等。希望读者通过本文的介绍,能够更好的了解 Python 中的时间计算方法。

一、时间模块的使用

Python 中时间模块主要包括 time、datetime 和 calendar 三个模块,其中 time 模块提供了与时间相关的基本函数和变量,datetime 模块提供了时间的高级操作,calendar 模块提供了计算日历的方法。

1. time 模块

time 模块提供了与时间相关的基本函数和变量,本节将介绍 time 模块中最常用的几个函数。

time.time()

该函数返回当前时间的时间戳。

import time
print(time.time())

输出:1617190342.8298526

time.localtime([secs])

该函数将一个时间戳转换为代表当地时间的时间元组。

import time
secs = time.time()
local_time = time.localtime(secs)
print(local_time)

输出:time.struct_time(tm_year=2021, tm_mon=3, tm_mday=31, tm_hour=14, tm_min=44, tm_sec=2, tm_wday=2, tm_yday=90, tm_isdst=0)

time.strftime(format[, t])

该函数接受一个时间元组并返回一个可读字符串表示的当地时间,格式由 format 决定。

import time
local_time = time.localtime()
time_str = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(time_str)

输出:2021-03-31 14:47:49

2. datetime 模块

datetime 模块提供了时间的高级操作,本节将介绍 datetime 模块中最常用的几个函数。

datetime.datetime.now()

该函数返回当前本地日期和时间的 datetime 对象。

from datetime import datetime
now = datetime.now()
print(now)

输出:2021-03-31 14:55:37.514444

datetime.datetime.today()

该函数返回当前本地日期和时间的 datetime 对象。

from datetime import datetime
today = datetime.today()
print(today)

输出:2021-03-31 14:57:56.124799

datetime.datetime.fromtimestamp(timestamp[, tz])

该函数根据给定的时间戳返回一个 datetime 对象。

from datetime import datetime
timestamp = 1617190342.8298526
date_time = datetime.fromtimestamp(timestamp)
print(date_time)

输出:2021-03-31 14:39:02.829853

二、时间计算法则

Python 中可以使用 timedelta 对象来进行时间计算。

timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

该函数返回一个表示一段时间的 timedelta 对象。

from datetime import timedelta
delta_time = timedelta(days=1, hours=2, minutes=30)
print(delta_time)

输出:1 day, 2:30:00

timedelta.total_seconds()

该函数返回一个时间段的总秒数。

from datetime import timedelta
delta_time = timedelta(days=1, hours=2, minutes=30)
print(delta_time.total_seconds())

输出:97200.0

datetime.datetime + timedelta

该运算将日期加上时间段。

from datetime import datetime, timedelta
now = datetime.now()
delta_time = timedelta(days=1)
tomorrow = now + delta_time
print(tomorrow)

输出:2021-04-01 14:50:23.335487

三、案例分析

以下案例将使用计算时间的知识,来完成一个简单的倒计时程序。

import time
from datetime import datetime, timedelta

def countdown(day, hour, minute, second):
    target_time = datetime.now() + timedelta(days=day, hours=hour, minutes=minute, seconds=second)
    while True:
        current_time = datetime.now()
        if current_time >= target_time:
            print("Time's up!")
            break
        remaining_time = target_time - current_time
        print("Remaining time:", remaining_time)
        time.sleep(1)

countdown(1, 0, 0, 0)

该程序实现了一个倒计时功能,在程序执行时会计算出当前时间加上一天后的时间作为目标时间,然后在程序中每隔一秒钟时间会输出目标时间和当前时间的时间差。

总结:

本文介绍了 Python 中计算时间相关的知识,包括时间模块的使用以及时间计算法则等。通过本文的介绍,读者可以更好的了解 Python 中的时间计算方法。时间计算在计算机编程领域中是一个非常重要的概念,它对各种编程任务都有着重要的作用。