python datetime模块详解

Python datetime模块详解

时间是计算机编程中非常常见的一个概念。Python中的datetime模块提供了方便的时间处理函数和类。在本文中,我们将详细讲解datetime模块的用法。

datetime模块概述

datetime模块可以用来操作日期和时间。

datetime类

该模块提供了以下类:

  • datetime.date
    Date对象用来表示一个日期(年、月、日)。日期对象是不可变的,意味着创建后,它的值不能被修改。
  • datetime.time
    Time对象用来表示一个时间(小时、分钟、秒、微秒)。时间对象也是不可变的。
  • datetime.datetime
    Datetime对象是一个日期和时间的组合。它包含了日期和时间的所有信息,小时、分钟、秒、微秒和时区。
  • datetime.timedelta
    Timedelta对象表示时间间隔,比如两个日期或时间之间的差值。
  • datetime.tzinfo
    Tzinfo是时区信息的基类,它可以用来表示时区。

时间格式化

datetime模块提供了strftime方法,可以将datetime对象格式化为字符串,也提供了strptime方法,可以将字符串解析成datetime对象。

使用datetime模块进行时间操作

下面是一些datetime模块的基本操作:

import datetime

# 创建一个date对象
d = datetime.date(2022, 1, 20)
print(d)                        # 输出: 2022-01-20
print(d.year)                   # 输出: 2022
print(d.month)                  # 输出: 1
print(d.day)                    # 输出: 20

# 创建一个time对象
t = datetime.time(8, 45, 30)
print(t)                        # 输出: 08:45:30
print(t.hour)                   # 输出: 8
print(t.minute)                 # 输出: 45
print(t.second)                 # 输出: 30

# 创建datetime对象
dt = datetime.datetime(2022, 1, 20, 8, 45, 30)
print(dt)                       # 输出: 2022-01-20 08:45:30
print(dt.year)                  # 输出: 2022
print(dt.month)                 # 输出: 1
print(dt.day)                   # 输出: 20
print(dt.hour)                  # 输出: 8
print(dt.minute)                # 输出: 45
print(dt.second)                # 输出: 30

# 初始化当前时间
import datetime
now = datetime.datetime.now()
print(now)                      # 输出当前时间

# 两个datetime之间的差值
d1 = datetime.datetime(2022, 1, 20, 8, 45, 30)
d2 = datetime.datetime(2022, 1, 21, 9, 46, 31)
delta = d2 - d1
print(delta)                    # 输出: 1 day, 1:01:01
print(delta.days)               # 输出: 1
print(delta.total_seconds())    # 输出: 90241.0

datetime字符串格式化

datetime模块提供了strftime方法,可以将datetime对象格式化为字符串:

import datetime

dt = datetime.datetime(2022, 1, 20, 8, 45, 30)
s = dt.strftime('%Y-%m-%d %H:%M:%S')
print(s)  # 输出: '2022-01-20 08:45:30'

可以利用strftime函数设置输出日期的字符串格式,常用的格式有:

标志 含义 示例
%Y 年(四位数) 2022
%m 01-12
%d 01-31
%H 小时(24小时制) 00-23
%M 分钟 00-59
%S 00-59
%f 微秒 000000-999999
%z UTC时区偏移量 +0000 或 -0400
%Z 时区名称 CST, EST, UTC, 等等
%j 一年中的第几天 001-366
%U 一年中的第几周(以周日为一周的第一天) 00-53
%W 一年中的第几周(以周一为一周的第一天) 00-53
%c locale的日期和时间 Mon Sep 30 07:06:05 2013
%x locale的日期 09/30/13
%X locale的时间 07:06:05
%p locale的上午或下午 AM, PM
%a 星期几的简写 Sun, Mon, ..., Sat
%A 星期几的全称 Sunday, Monday, ..., Saturday
%w 星期几的数字表示 0(周日) ~ 6(周六)

另外可以用strptime方法将字符串解析成datetime对象:

import datetime

s = '2022-01-20 08:45:30'
dt = datetime.datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
print(dt)  # 输出: datetime.datetime(2022, 1, 20, 8, 45, 30)

在strptime方法的第二个参数中,需要指定输入的字符串格式。

总结

datetime模块提供了方便的时间处理函数和类,可以非常方便地进行日期和时间的操作。在本文中,我们讲解了datetime模块的基本用法,并提供了示例。通过掌握这些知识,可以更加灵活地使用Python进行时间处理。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python datetime模块详解 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • python如何调用百度识图api

    Python调用百度识图API可以用百度提供的Python SDK进行操作,下面将详细讲解如何调用百度识图API。 步骤一:注册申请API Key和Secret Key 具体操作流程如下: 进入百度开发者中心,点击右上角“立即加入”按钮,注册开发者账号。 登录进入百度智能云控制台,创建一个新的应用,获取当前应用的API Key以及Secret Key。 步骤…

    python 2023年5月18日
    00
  • python3 shelve模块的详解

    Python3 Shelve模块的详解 简介 shelve 模块是 python 标准库中一个简单的键值存储系统,使用文件作为存储介质,提供了一个像字典一样的成员访问和一个 open() 方法用于打开持久化存储器。使用 shelve 模块,我们可以将数据存储在磁盘上,并提供与内存中字典相同的访问方式。 特性 自动将数据序列化为二进制格式,然后将其存储在磁盘或…

    python 2023年6月2日
    00
  • Python爬虫库requests获取响应内容、响应状态码、响应头

    以下是关于Python爬虫库requests获取响应内容、响应状态码、响应头的攻略: Python爬虫库requests获取响应内容、响应状态码、响应头 requests是Python中一个流行的HTTP库,可以用于向Web服务器发送HTTP请求和接收响应。以下是Python中requests模块获取响应内容、响应状态码、响应头的方法: 获取响应内容 使用r…

    python 2023年5月14日
    00
  • Python3.x和Python2.x的区别介绍

    当然,我很乐意为您提供“Python3.x和Python2.x的区别介绍”的完整攻略。以下是详细的步骤和示例: Python3.x和Python2.x的区别介绍 Python3.x和Python2.x是两个不同的版本,它们之间有多个区别。以下是一些主要的区别: 1. print语句 在Python2.x中,print语句是一个语句,而在3.x中,print(…

    python 2023年5月13日
    00
  • python实现报表自动化详解

    下面我们来详细讲解“Python实现报表自动化详解”的完整实例教程。 简介 报表自动化是指使用计算机程序自动化地生成、处理、分析和展示数据,从而帮助人们更高效、准确地完成各种报表工作。Python是一种流行的编程语言,被广泛应用于数据分析和处理领域。在本教程中,我们将介绍如何使用Python实现报表自动化,以便更好地利用计算机程序处理和展示数据。 实现步骤 …

    python 2023年5月13日
    00
  • Python使用正则表达式过滤或替换HTML标签的方法详解

    以下是“Python使用正则表达式过滤或替换HTML标签的方法详解”的完整攻略: 一、问题描述 在Python中,我们可以使用正则表达式来过滤或替换HTML标签。本文将详细讲解Python使用正则表达式过滤或替换HTML标签的方法,以及如何在实际开发中应用。 二、解决方案 2.1 过滤HTML标签的方法 在Python中,过滤HTML标签的方法可以使用正则表…

    python 2023年5月14日
    00
  • Python 获取指定开头指定结尾所夹中间内容(推荐)

    在Python中,我们可以使用正则表达式或字符串方法来获取指定开头和结尾之间的内容。以下是一些示例代码,演示如何使用正则表达式和字符串方法来获取指定开头和结尾之间的内容。 示例1:使用正则表达式获取指定开头和结尾之间的内容 以下是一个示例代码,用于使用正则表达式获取指定开头和结尾之间的内容: import re text = ‘The quick brown…

    python 2023年5月15日
    00
  • python中函数的返回值及类型详解

    Python中函数的返回值及类型详解 在Python中,函数可以有返回值,也可以没有。本文将详细讲解Python函数的返回值及类型。 函数没有返回值 在Python中,如果函数没有特意通过return语句返回任何值,那么函数就会返回None类型。 例如: def say_hello(): print("Hello, World!") re…

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