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使用requests模块爬取百度翻译

    下面是关于使用 requests 模块爬取百度翻译的攻略。 1. 学习准备 首先,我们需要了解一下 requests 模块。requests 是 Python 中一个非常强大的网络库,常用于网络数据的获取等操作。需要注意的是,requests 库需要单独安装,可以通过 pip 工具进行安装。 pip install requests 另外,我们还需要了解一下…

    python 2023年5月14日
    00
  • Python中的随机函数random详解

    Python中的随机函数random详解 在Python中,random是一个内置库,它提供了各种各样的随机数生成函数。本篇攻略将介绍Python中的随机函数random及其用法。 random库的导入 random库是Python的标准库之一,无需安装便可使用。使用时只需要导入random即可。 import random 生成随机整数 在Python中,…

    python 2023年6月3日
    00
  • Python字典简介以及用法详解

    Python中的字典是一种无序的数据集合,常用来表示键值对。在Python字典中,每个键都映射到一个值,这些键-值对同时保存在大括号{}中,如下所示: my_dict = {"key1": "value1", "key2": "value2"} 字典是Python中非常重要的数据…

    python 2023年5月14日
    00
  • win7+Python3.5下scrapy的安装方法

    下面我将详细介绍“win7+Python3.5下scrapy的安装方法”。 1.安装Python3.5 首先,我们需要在电脑上安装Python3.5。你可以到Python的官网 https://www.python.org/downloads/release/python-350/ 下载Python3.5的安装包,并按照提示进行安装。 2.安装scrapy依…

    python 2023年5月13日
    00
  • Python中有哪些常用的数据类型?

    Python是一种动态语言,支持多种数据类型。以下是Python中常用的一些数据类型: 数字类型 数字类型包括整数、浮点数、复数等。其中,整数可以是正数、负数或0,浮点数是有小数点的数字,而复数由实数和虚数组合而成。 # 整数 a = 10 # 浮点数 b = 3.14 # 复数 c = 2 + 7j 字符串类型 字符串是由单引号、双引号、三引号表示的文本数…

    python 2023年4月19日
    00
  • PyTorch加载模型model.load_state_dict()问题及解决

    PyTorch是深度学习的一种常用框架,用于构建、训练和部署神经网络模型。在使用PyTorch时,我们有时需要加载已经训练好的模型。PyTorch提供了model.load_state_dict()方法来加载模型权重参数,但在实际使用中,可能会遇到一些问题,下面就进行详细讲解。 问题描述 在PyTorch中,我们通常使用model.state_dict()方…

    python 2023年6月3日
    00
  • 七个非常实用的Python工具包总结

    七个非常实用的Python工具包总结 Python是现今最流行的编程语言之一,拥有众多的工具包和库,可以方便地开发应用程序、web应用和数据科学等领域的程序。本篇文章将着重介绍七个非常实用的Python工具包,总结它们的用途、功能和示例操作。 1. Requests Requests是一个Python库,为HTTP通信提供了人性化的接口。Requests已被…

    python 2023年5月14日
    00
  • python字典DICT类型合并详解

    Python字典DICT类型合并详解 Python中,我们可以使用字典(dict)类型来处理键值对数据,本文将详细介绍字典的合并操作。 1. Python中字典合并的两种方式 方式一:“|”操作符 在Python 3.9及以上版本中,字典合并操作可以使用“|”操作符,例如: dict1 = {‘a’: 1, ‘b’: 2} dict2 = {‘c’: 3, …

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