python 常用日期处理– datetime 模块的使用

yizhihongxing

当我们在Python中进行日期操作时,常常需要使用到datetime模块。这个模块提供了处理日期和时间的多种方法,包括支持日期的算术运算、比较和格式化输出等。

datetime模块的基本用法

datetime模块包含2种主要的对象:datetime对象和timedelta对象。

datetime对象

datetime对象是处理日期和时间的基本对象,可以使用它提供的方法对日期和时间进行各种计算和操作。

创建datetime对象

通过datetime模块的datetime类可以创建一个datetime对象,如下:

from datetime import datetime

# 创建一个表示当前时间的datetime对象
now = datetime.now()

# 创建一个表示指定时间的datetime对象,年月日时分秒分别对应参数
dt = datetime(2020, 11, 11, 11, 11, 11)

获取datetime对象属性

datetime对象有year、month、day、hour、minute、second、microsecond等属性,可以使用这些属性获取对应的时间信息,如下:

print(now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond)

格式化输出datetime对象

我们可以使用strftime方法来将一个datetime对象转换成一个字符串。相对应地,我们也可以使用strptime方法将字符串转换成datetime对象。

# 将datetime对象格式化输出
formatted_now = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_now)

# 将字符串转换成datetime对象
datetime_obj = datetime.strptime('2020/10/10 10:10:10', '%Y/%m/%d %H:%M:%S')
print(datetime_obj)

timedelta对象

timedelta对象是用来表示时间间隔的,可以使用这个对象进行一些日期和时间上的计算。

创建timedelta对象

timedelta对象可以通过datetime模块的timedelta类来创建,如下:

from datetime import timedelta

# 创建一个时间差为1天的timedelta对象
td = timedelta(days=1)

timedelta对象的运算

# 获取当前时间一天后的时间
now = datetime.now()
td = timedelta(days=1)
new_time = now + td
print(new_time)

# 计算两个时间之间的时间差
t1 = datetime(2020, 10, 10, 10, 10, 10)
t2 = datetime(2020, 10, 11, 10, 10, 10)
td = t2 - t1
print(td)

示例

示例1:计算指定日期和今天的时间差

下面的程序使用datetime模块计算某个日期和今天的时间差:

from datetime import datetime

target_date = datetime(2022, 1, 1)
now = datetime.now()

delta = target_date - now

print(f'Time left until target date: {delta}')

示例2:计算某个时间段的总天数

下面的程序使用datetime模块计算某个时间段的总天数:

from datetime import datetime, timedelta

start_time = datetime(2020, 1, 1)
end_time = datetime(2020, 12, 31)

delta = end_time - start_time
total_days = delta.days + 1

print(f'Total days between start and end time: {total_days}')

以上就是Python中datetime模块的基本使用方法和示例,能够帮助你更好地进行日期和时间的操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 常用日期处理– datetime 模块的使用 - Python技术站

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

相关文章

  • Python实现的读写json文件功能示例

    下面是Python实现的读写JSON文件功能示例的完整攻略: 1. 准备工作 首先,我们需要安装Python,可以从官方网站下载并安装。对于json模块,Python3.x版本已经自带了,因此无需再次安装。同时,我们需要准备一份JSON文件用于测试,可以手动创建或者下载已有的JSON文件。 2. 读取JSON文件 读取JSON文件的过程比较简单,只需要使用P…

    python 2023年5月13日
    00
  • python3压缩和解压文件案例总结

    Python3压缩和解压文件案例总结 简介 在计算机科学领域,压缩和解压文件是非常常见的任务。Python3中提供了许多包用于实现该任务,比如gzip、zipfile、tarfile等等。本篇文章就是要总结一下Python3中的文件压缩和解压的相关技巧。 1. gzip包 gzip包通常用于压缩和解压单个文件。gizp的压缩速度较快,并且可以基于某个文件来创…

    python 2023年6月3日
    00
  • Python 使用xlwt模块将多行多列数据循环写入excel文档的操作

    接下来我将为您讲解如何使用 Python 的 xlwt 模块将多行多列数据循环写入 Excel 文档。 xlwt 模块介绍 xlwt 模块是一个 Python 的第三方模块,它能够将 Python 中的数据写入到 Excel 文件中。它可以让我们在 Python 中操作 Excel 文件,包括指定单元格格式、写入数据、添加公式、添加图片等。 实现步骤 安装 …

    python 2023年5月13日
    00
  • Python和Pycharm 环境部署详细步骤

    下面是Python和Pycharm环境部署的详细步骤攻略。 环境部署步骤 1. 安装Python 首先,需要从Python官网下载相应的安装包进行安装。在网站主页(https://www.python.org/)可以看到“Downloads”按钮。点击“Downloads”按钮后,页面会自动跳转到下载页面。选择对应的操作系统,下载相应的Python版本的安装…

    python 2023年5月30日
    00
  • Python 标准库 fileinput与文件迭代器

    Python 标准库 fileinput 与文件迭代器 Python 的 fileinput 模块提供了一种简单的方式来读取来自多个文件或输入流的任意数量的行。该模块维护在文件列表中的当前文件,并在文件之间进行切换。和 Python 的流一样,它的工作方式是将每个文件作为一个序列来处理。 1. fileinput 模块的基本用法 fileinput 模块的主…

    python 2023年6月3日
    00
  • Python之捕捉异常详解

    Python之捕捉异常详解 在 Python 中,我们经常会遇到一些运行时错误,称为异常。例如,当我们尝试访问一个列表的索引超过了列表长度时,就会抛出 IndexError 异常。这些异常会导致程序崩溃,因此我们需要在代码中检测并处理这些异常。 异常处理语句 Python 提供了 try-except-finally 语句用于异常处理。 try: # 尝试运…

    python 2023年6月6日
    00
  • python快速查找算法应用实例

    下面是详细讲解“Python快速查找算法应用实例”的完整攻略。 快速查找算法 快速查找算法(Binary Search)是一种高效的查找算法,它的基本思想是将查找区间不断缩小,直到找到目标元素或者确定目标元素不存在。快速查找算法的时间复杂度为O(log n),比线性查找算法的时间复杂度O(n)更加高效。 Python实现快速查找算法 下面是一个Python实…

    python 2023年5月14日
    00
  • python 中collections的 deque使用详解

    Python 中 collections 的 deque 使用详解 deque 是 Python 内置的一个双向队列数据类型,具有高效地添加和弹出元素的特性,功能类似于列表,但操作更加高效。 1. 创建 deque 对象 deque 对象可以通过 collections 模块中的 deque 函数来创建,不同于列表,它接收一个 maxlen 参数,用于限制 …

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