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线程池threadpool使用篇

    Python线程池ThreadPool使用篇 本文将详细介绍Python中线程池ThreadPool的使用方法,包括线程池的创建、任务的提交、结果的获取、线程数设置等操作,同时提供两个示例说明 ThreadPool 的使用。 线程池ThreadPool简介 ThreadPool是Python实现线程池的一种方式,线程池是用来管理多线程的工具,通过维护一定数量…

    python 2023年5月19日
    00
  • Python多线程同步—文件读写控制方法

    Python多线程同步—文件读写控制方法 在Python多线程编程过程中,为了避免多线程读写同一个文件产生的竞争,我们需要实现线程同步,即一次只有一个线程能够访问文件。下面介绍几种线程同步的文件读写控制方法。 1. 使用线程锁 线程锁是最常见的线程同步方法,具体实现是在读写文件操作之前加上锁,进入读写操作之后再释放锁,这样保证同一时间内只有一个线程能够访…

    python 2023年5月18日
    00
  • Python基于机器学习方法实现的电影推荐系统实例详解

    Python基于机器学习方法实现的电影推荐系统实例详解 在本教程中,我们将介绍如何使用Python基于机器学习方法实现电影推荐系统。我们将使用Python的pandas、numpy、scikit-learn和pickle库来实现这个功能。以下是一个例代码,演示如何使用Python实现电影推荐系统: import pandas as pd import num…

    python 2023年5月15日
    00
  • Django 实现将图片转为Base64,然后使用json传输

    Django 是一个流行的高级 web 框架,提供了许多功能强大的扩展库。在实现将图片转换为 Base64 编码并传输的过程中,我们可以利用 Django 的内置方法和库来完成这个任务。 以下是 Django 实现该功能的攻略: 1. 转换图片为 Base64 编码 在 Django 中,我们可以使用 PIL(Python Imaging Library) …

    python 2023年6月3日
    00
  • python中not、and和or的优先级与详细用法介绍

    以下是详细讲解“Python中not、and和or的优先级与详细用法介绍”的完整攻略,包含两个示例说明。 1. 优先级 在Python中,not、and和or的优先级如下: not and or 这意味着not的优先级最高,or的优先级最低。当表达式中同时包含not、and和or时,not会先被计算,然后是and,最后是or。 为了避免优先级问题,我们可以使…

    python 2023年5月14日
    00
  • Python多线程、异步+多进程爬虫实现代码

    下面是Python多线程、异步+多进程爬虫实现代码的完整攻略。 一、什么是多线程、异步和多进程 在开始讲解Python多线程、异步+多进程爬虫实现代码之前,我们先来了解一下多线程、异步和多进程的概念。 1. 多线程 多线程是指在一个程序中同时执行多个不同的线程,每个线程处理不同的任务。多线程可以提高程序的运行效率,减少响应时间,提高用户体验。 2. 异步 异…

    python 2023年5月14日
    00
  • Python运行错误异常代码含义对照表

    下面是“Python运行错误异常代码含义对照表”攻略的完整讲解: 1. 异常代码含义对照表的作用 在Python开发过程中,可能会出现各种不同类型的运行错误,例如语法错误、逻辑错误、类型错误等等。当程序出现异常错误时,Python解释器会抛出相应的异常,以便提示开发者修复程序中的问题。 在Python中,异常是一种特殊类型的对象,它包含有关错误信息的详细内容…

    python 2023年5月13日
    00
  • python调用文字识别OCR轻松搞定验证码

    标题:Python调用文字识别OCR轻松搞定验证码 验证码是许多网站用来防止自动化程序访问的一种方式。如果想要使用自动化程序进行网站数据的抓取,就需要了解如何识别验证码。本文将介绍如何使用Python调用文字识别OCR来轻松搞定验证码。 什么是OCR? OCR(Optical Character Recognition)是一种将图片中的文本识别为可编辑文本的…

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