python datetime模块详解

yizhihongxing

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自定义线程类简单示例

    Python自定义线程类是指通过继承Python内置的threading.Thread类来创建自己的线程类,该方法可以比较方便地创建多线程应用程序。下面将给出一个简单的示例来解释如何创建自定义线程类。 创建自定义线程类 首先,我们需要导入threading模块,然后定义一个自定义线程类,例如: import threading class MyThread(…

    python 2023年6月6日
    00
  • 基于python实现百度语音识别和图灵对话

    前言 本文将介绍如何使用 Python 实现百度语音识别和图灵对话。在这个过程中,我们将使用百度语音识别 API 对用户的语音进行识别,然后将文字输入到图灵对话 API 中,从而获得机器人的回答。希望读者在阅读完本文后,能够更加深入地了解 Python 语言以及相关的语音和对话技术。 准备工作 在开始使用 Python 实现百度语音识别和图灵对话之前,我们需…

    python 2023年5月19日
    00
  • 详解Python 合并词典的几种方式

    Python中实现合并词典(字典)有多种方式,下面将详细讲解几种常见的方法及其使用方法。 方法一:update方法 update() 方法可用于将一个词典中的键/值对更新到另一个词典中。如果被更新的词典中存在相同的键,那么它们的值将被替换为新的值。 语法 dict1.update(dict2) 示例说明 下面是一个例子,演示如何合并两个词典,并输出合并后的结…

    python-answer 2023年3月25日
    00
  • Python中的列表及其操作方法

    以下是详细讲解“Python中的列表及其操作方法”的完整攻略。 在Python中,列表是一种非常常用的数据类型,它可以存储多个元素,并且支持各种操作。本文将介绍Python的基本操作,包括创建列表、访问列表元素、添加和删除元素、列表切片、列表排序等。 创建列表 在Python中可以使用方括号[]或list()函数来创建一个列表。例如: lst1 = [1, …

    python 2023年5月13日
    00
  • 简单了解Python下用于监视文件系统的pyinotify包

    请看下面的完整攻略: 简单了解Python下用于监视文件系统的pyinotify包 1. 引言 文件系统监视,是指通过软件实时监视计算机文件系统上文件的变化情况。常见的实时监视,包括文件的创建、修改、删除等。pyinotify是Python下用于监视文件系统变化的一个开源库。 2. 安装pyinotify 在Debian等Linux系统下,可以使用以下命令安…

    python 2023年5月30日
    00
  • Python实现双轴组合图表柱状图和折线图的具体流程

    接下来我将为你详细讲解Python实现双轴组合图表柱状图和折线图的具体流程。本文将分为以下几个部分:准备工作、数据准备、绘制柱状图、绘制折线图、绘制双轴组合图、示例说明。 准备工作 在开始绘制双轴组合图之前,需要安装几个Python库:pandas、matplotlib、numpy。如果你没有安装这些库,可以在命令行中使用以下命令分别进行安装: pip in…

    python 2023年5月13日
    00
  • Python字典的概念及常见应用实例详解

    Python字典的概念及常见应用实例详解 Python字典的概念 Python字典是一种可变容器类型,可以存储任意数量的Python对象,如数字、字符串、列表、甚至其他字典等。与列表、元组、集合等有序容器类型不同,字典是无序容器类型。 Python字典通过键(key)来查询对应的值(value),可以理解为一种映射关系。一个字典包含多个键值对,键值对用冒号分…

    python 2023年5月13日
    00
  • Python自动化办公之群发邮件案例详解

    Python自动化办公之群发邮件案例详解 前言 在日常工作中,我们经常需要给团队成员发一些邮件,但是逐个发送邮件会非常耗费时间,而且容易出错,因此,使用Python编写自动化脚本,实现群发邮件的功能会非常有用。 本文将详细介绍如何使用Python实现群发邮件。 步骤 第一步:安装Python包 为了发送邮件,我们需要使用Python的第三方库smtplib和…

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