详解Python常用标准库之时间模块time和datetime

详解Python常用标准库之时间模块time和datetime

简介

timedatetime 是 Python 中常用的时间模块。

  • time 模块提供了一些操作时间的函数,包括获取当前时间、休眠等功能。
  • datetime 模块提供了更高级的时间处理功能,包括日期和时间的加减、格式化等。

time 模块

时间戳和结构化时间

time 模块中,我们会用到两种时间表示方式:时间戳和结构化时间。

  • 时间戳:指的是从 1970 年 1 月 1 日凌晨 0 时 0 分 0 秒开始,到现在的秒数。
  • 结构化时间:是将时间表示成一个 struct_time 结构体的形式。

以下是用 time() 函数获取时间戳和用 localtime() 函数获取结构化时间的示例代码:

import time

# 获取当前时间戳
timestamp = time.time()
print("当前时间戳:", timestamp)

# 获取当前结构化时间
struct_time = time.localtime()
print("当前结构化时间:", struct_time)

输出结果为:

当前时间戳: 1598450798.9766822
当前结构化时间: time.struct_time(tm_year=2020, tm_mon=8, tm_mday=26, tm_hour=14, tm_min=33, tm_sec=18, tm_wday=2, tm_yday=239, tm_isdst=0)

时间的格式化

我们可以用 strftime() 函数将结构化时间转换为自定义的格式,以下是一个示例:

import time

# 获取当前结构化时间
struct_time = time.localtime()

# 格式化输出
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)
print("当前时间(格式化输出):", formatted_time)

输出结果为:

当前时间(格式化输出): 2020-08-26 14:37:32

时间的延迟

在编写一些需要时间控制的程序时,我们经常需要使用延迟函数。time 模块提供了 sleep() 函数,可以使程序暂停指定的秒数。

以下是一个示例代码:

import time

print("开始执行")
time.sleep(3)
print("结束执行")

输出结果为:

开始执行
(程序暂停 3 秒)
结束执行

datetime 模块

时间的加减

datetime 模块中,我们可以使用 timedelta 类型表示时间的差值,使用 timedelta() 函数来创建一个 timedelta 对象。timedelta 对象可以进行加减操作,如下面示例代码:

import datetime

# 获取当前时间
current_time = datetime.datetime.now()

# 往后 1 小时
future_time = current_time + datetime.timedelta(hours=1)
print("1 小时后的时间:", future_time)

# 往前 3 天
past_time = current_time - datetime.timedelta(days=3)
print("3 天前的时间:", past_time)

输出结果为:

1 小时后的时间: 2020-08-26 15:49:35.848460
3 天前的时间: 2020-08-23 15:49:35.848460

时间的格式化

同样,也可以使用 strftime() 函数来格式化时间,以下是一个示例:

import datetime

# 获取当前时间
current_time = datetime.datetime.now()

# 格式化输出
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间(格式化输出):", formatted_time)

输出结果为:

当前时间(格式化输出): 2020-08-26 15:52:16

总结

timedatetime 模块都是 Python 中常用的时间处理模块,它们提供了丰富的函数和类来满足不同的时间处理需求。我们可以根据具体的应用需求选择合适的模块和函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python常用标准库之时间模块time和datetime - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • matplotlib制作雷达图报错ValueError的实现

    下面我将为您提供详细的“matplotlib制作雷达图报错ValueError的实现”攻略,以下是具体步骤: 1. 错误场景分析 首先分析 ValueError 报错,大多出现在 matplotlib 制作雷达图时,由于坐标轴尺度问题,导致绘制失败。在制作雷达图之前,需要先确定雷达图的维度,通常情况下雷达图是一个正多边形,在雷达图的维度确定之后需要给出各个维…

    python 2023年5月13日
    00
  • python 提取文件的小程序

    下面是详细讲解“Python 提取文件的小程序”的完整攻略。 1. 确定文件路径 首先需要确定要提取的文件在哪个地方。可以使用 Python 的 os 模块中的 getcwd() 函数获取当前工作目录,然后再通过 os.path.join() 拼接出完整的文件路径。 示例代码: import os file_name = "example.txt&…

    python 2023年5月18日
    00
  • Python中断言Assertion的一些改进方案

    Python中断言Assertion的一些改进方案 什么是断言? 在Python中,断言(Assertion)是一种用于测试代码逻辑的工具。当程序运行到断言语句时,如果断言语句的结果为False,则程序会抛出AssertionError异常,如果结果为True,则顺利执行。 Python中断言的问题 然而,Python中断言也存在一些问题: 难以调试:当代码…

    python 2023年5月13日
    00
  • Python入门之三角函数atan2()函数详解

    Python入门之三角函数atan2()函数详解 在数学中,atan2()是一个根据直角坐标的坐标值返回其所在象限的角度,范围是[-π,π]。在Python中,atan2()是math模块中的一个三角函数,它的使用方法和功能也与数学的atan2()函数相似。 函数定义和语法 Python中atan2()函数的定义如下: math.atan2(y, x) 其中…

    python 2023年6月3日
    00
  • Python 2 和 3 兼容的方式通过键和值迭代 dict

    【问题标题】:Python 2 and 3 compatible way of iterating through dict with key and valuePython 2 和 3 兼容的方式通过键和值迭代 dict 【发布时间】:2023-04-06 11:58:01 【问题描述】: 由于使用iteritems(),我有以下仅适用于 Python 2…

    Python开发 2023年4月6日
    00
  • Python程序笔记20230306

    判断闰年 初始版本 year = input(‘请输入一个年份:’) while not year.isdigit(): year = input(“抱歉,您的输入有误,请输入一个整数:”) year = int(year) if year % 400 == 0: print(year, “是闰年!”) else: if year % 4 == 0 and …

    python 2023年4月17日
    00
  • python中使用psutil查看内存占用的情况

    使用psutil库可以方便地查看Python程序的内存占用情况。下面是利用psutil查看内存占用的完整攻略: 步骤1:安装psutil库 在终端或命令行中输入以下命令安装psutil库: pip install psutil 步骤2:导入psutil库 在Python代码中导入psutil库,代码如下: import psutil 步骤3:使用psutil…

    python 2023年6月3日
    00
  • python爬虫之urllib库常用方法用法总结大全

    Python爬虫之urllib库常用方法用法总结大全 urllib库介绍 urllib是Python自带的HTTP请求库,包含四个子模块:- urllib.request,用于打开和读取URL- urllib.error,包含urllib.request产生的异常- urllib.parse,用于解析URL- urllib.robotparser,用于解析r…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部