Python入门教程(二十七)Python的日期

Python入门教程(二十七)Python的日期

日期和时间是我们日常生活中非常重要的部分,而Python标准库中的datetime模块提供了很好的日期和时间处理工具。本教程将介绍datetime模块的基础用法和常见应用。

datetime模块概述

datetime模块包含了日期和时间处理类,包括:

  • date:处理日期的类
  • time:处理时间的类
  • datetime:同时处理日期和时间的类
  • timedelta:用于计算时间差的类

date类

date类处理的是日期,包含年、月、日三个部分。创建date对象方法如下:

from datetime import date

d = date(2022, 12, 31)
print(d)

输出结果为:

2022-12-31

date对象还有一些常见的属性和方法,比如:

  • year:年份
  • month:月份
  • day:日份
  • weekday():返回星期几,星期一为0,星期天为6
  • isoweekday():返回星期几,星期一为1,星期天为7

示例代码如下:

from datetime import date

d = date(2022, 12, 31)
print(d.year)  # 2022
print(d.month)  # 12
print(d.day)  # 31

print(d.weekday())  # 5 (星期六)
print(d.isoweekday())  # 6 (星期六)

time类

time类处理的是时间,包含时、分、秒、微秒四个部分。创建time对象方法如下:

from datetime import time

t = time(12, 30, 0, 500000)
print(t)

输出结果为:

12:30:00.500000

time对象还有一些常见的属性和方法,比如:

  • hour:小时
  • minute:分钟
  • second:秒
  • microsecond:微秒

示例代码如下:

from datetime import time

t = time(12, 30, 0, 500000)
print(t.hour)  # 12
print(t.minute)  # 30
print(t.second)  # 0
print(t.microsecond)  # 500000

datetime类

datetime类是date类和time类的结合体,处理的是日期和时间。创建datetime对象方法如下:

from datetime import datetime

dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt)

输出结果为:

2022-12-31 12:30:00.500000

datetime对象常用的属性和方法如下:

  • year:年份
  • month:月份
  • day:日份
  • hour:小时
  • minute:分钟
  • second:秒
  • microsecond:微秒
  • date():返回date对象
  • time():返回time对象
  • timestamp():返回时间戳

示例代码如下:

from datetime import datetime

dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt.year)  # 2022
print(dt.month)  # 12
print(dt.day)  # 31
print(dt.hour)  # 12
print(dt.minute)  # 30
print(dt.second)  # 0
print(dt.microsecond)  # 500000

print(dt.date())  # 2022-12-31
print(dt.time())  # 12:30:00.500000

print(dt.timestamp())  # 1661949000.5 (时间戳)

timedelta类

timedelta类是用于计算时间差的类,可以使用datetime对象相减得到一个timedelta对象,或者直接创建一个timedelta对象。timedelta对象的参数包括天、秒、微秒。

示例代码如下:

from datetime import datetime, timedelta

dt1 = datetime(2022, 12, 31, 12, 30, 0)
dt2 = datetime(2022, 12, 30, 12, 30, 0)

td = dt1 - dt2
print(td)  # 1 day, 0:00:00

td = timedelta(days=1)
print(td)  # 1 day

td = timedelta(seconds=60)
print(td)  # 0:01:00

常用日期格式化

在实际应用中,日期和时间通常需要以特定的格式呈现。datetime类提供了strftime()方法,可以将日期和时间格式化成字符串,常用的格式化参数如下:

  • %Y:四位数的年份表示(如:2022)
  • %m:月份(01-12)
  • %d:日(01-31)
  • %H:24小时制小时数(00-23)
  • %M:分钟数(00-59)
  • %S:秒数(00-59)
  • %f:微秒数
  • %a:本地简化星期名称
  • %A:本地完整星期名称
  • %b:本地简化的月份名称
  • %B:本地完整的月份名称
  • %c:本地相应的日期和时间表示
  • %p:本地A.M.或P.M.的等价符
  • %z:时区名称
  • %Z:时区偏移量

示例代码如下:

from datetime import datetime

dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f'))  # 2022-12-31 12:30:00.500000
print(dt.strftime('%Y年%m月%d日 %H:%M:%S'))  # 2022年12月31日 12:30:00

总结

本教程介绍了datetime模块的基础用法和常见应用,包括date类、time类、datetime类和timedelta类。另外,也介绍了常用的日期格式化方法。

示例说明

示例1:计算日期差

下面的示例演示了如何计算两个日期之间的天数差:

from datetime import date

d1 = date(2022, 12, 31)
d2 = date(2022, 12, 1)

delta = d1 - d2

print(delta.days) # 输出 30

示例2:获取当前日期时间

下面的示例演示了如何获取当前日期和时间:

from datetime import datetime

now = datetime.now()

print(now.strftime('%Y-%m-%d %H:%M:%S')) # 输出 2022-01-01 12:30:00

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(二十七)Python的日期 - Python技术站

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

相关文章

  • 使用Python可设置抽奖者权重的抽奖脚本代码

    下面详细讲解一下“使用Python可设置抽奖者权重的抽奖脚本代码”的完整攻略。 确定需求 在开始编写代码之前,我们需要确定需求,也就是明确要做什么。在这个案例中,我们需要编写一个抽奖脚本,需要满足以下两个需求: 根据每个参与者的权重进行抽奖; 抽取的结果需要随机并且公平,避免出现任何人被远远落后的情况。 设计抽奖脚本 构建参与者列表和权重列表 我们需要构建一…

    python 2023年6月3日
    00
  • python抓取京东商城手机列表url实例代码

    Python抓取京东商城手机列表URL实例代码 本攻略将介绍如何使用Python抓取京东商城手机列表URL。我们将使用requests库发送HTTP请求,并使用BeautifulSoup库解析HTML响应。 安装requests和BeautifulSoup库 在开始之前,我们需要安装requests和BeautifulSoup库。我们可以使用以下命令在命令行…

    python 2023年5月15日
    00
  • 使用Python写个小监控

    使用Python写个小监控的完整攻略需要以下几个步骤: 1. 安装依赖库 在编写Python监控程序之前,我们需要安装一些依赖库,其中主要包括: requests:用于发送HTTP请求并获取响应 BeautifulSoup:用于解析HTML页面 smtplib:用于发送电子邮件 schedule:用于定时执行任务 可通过pip工具进行安装,如下所示: pip…

    python 2023年5月13日
    00
  • python实战练习做一个随机点名的程序

    下面是python实战练习做一个随机点名的程序的完整攻略: 问题描述 点名是很多老师在课堂上进行的一项活动,目的是为了调动学生的积极性和听课注意力。但是,人工点名有可能存在偏差和不公平,因此我们希望用程序来实现随机点名。该程序需要能随机从给定学生名单中取出一个名字,并输出结果。 解决方案 本程序主要分为三个部分: 学生名单的定义 随机点名功能的编写 输出结果…

    python 2023年6月3日
    00
  • python 多线程中join()的作用

    当我们在 Python 中使用多线程时,join() 是一个常用的方法。它可以让某个线程等待其他线程完成,直到其他线程全部完成后才能继续执行后面的代码。在本攻略中,我将详细讲解 join() 的作用以及如何在 Python 多线程中使用它。 join() 方法的作用 被调用的线程在执行 join() 方法后,会暂时停止执行直到其他线程全部完成后才会继续执行。…

    python 2023年5月18日
    00
  • 基于Python实现有趣的象棋游戏

    基于Python实现有趣的象棋游戏攻略 总体思路 本篇攻略将介绍如何使用Python实现一个简单的象棋游戏。该项目使用Python面向对象的编程思想实现,玩家可通过终端进行游戏。 实现思路分为三个部分:1. 声明象棋棋子,包括所在位置、是否死亡、颜色和种类等属性;2. 定义象棋棋盘,包括棋子位置、走棋规则等;3. 控制台交互,将棋子和棋盘展现给玩家,并实现下…

    python 2023年6月13日
    00
  • 解决pyPdf和pyPdf2在合并pdf时出现异常的问题

    解决pyPdf和pyPdf2在合并pdf时出现异常的问题 在Python中,pyPdf和pyPdf2是两个常用的PDF处理库。它们可以用于合并、拆分、旋转、加密、密等PDF文件的操作。但是,在使用pyPdfpyPdf2合并PDF文件时,有时会出现异常。本文将为您详细讲解如何解决pyPdf和pyPdf2在合并PDF时出现异常的问题,并提供两个示例说明。 pyP…

    python 2023年5月14日
    00
  • Python函数设置默认参数

    在Python中,可以为函数参数指定默认值,这些参数被称为默认参数。如果调用函数时没有传递这些参数,则使用默认值。 默认参数可以在定义函数时指定,例如: def greet(name, greeting="Hello"): print(greeting, name) 在上面的示例中,greeting参数具有默认值"Hello&q…

    2023年2月20日
    00
合作推广
合作推广
分享本页
返回顶部