首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件测试|教你轻松玩转Python日期时间

软件测试|教你轻松玩转Python日期时间

原创
作者头像
霍格沃兹测试开发Muller老师
发布于 2023-02-07 10:10:26
发布于 2023-02-07 10:10:26
53000
代码可运行
举报
运行总次数:0
代码可运行

Python基础之日期时间处理

前言:软件测试工作中,有时会需要我们在代码中处理日期以及时间,python内置的datetime模块就可以很好地帮我们处理这个问题。

该模块常用的类有:

类名

功能说明

date

日期对象

time

时间对象

datetime

日期时间对象

timedelta

时间间隔

tzinfo

时区对象

本文旨在讲解datetime模块中datetime类的使用方法,其他类我们后续有机会补上。

datetime对象是 date 与 time 的结合体,涵盖了date和time对象的所有信息。

一、导入datetime类

内置模块,无需安装,只有一步,直接from ... import...即可

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
from datetime import datetime

二、构造datetime对象

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime(year,month,day,hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

-------------------
# 参数解析
- year:年
  - MINYEAR<=year<=MAXYEAR
  - 最小年份为1,最大年份为9999
- month:月,范围为1-12
- day:日期,指定日期的天数
- hour:小时,范围为[0,24)
- minute:分钟,范围为[0,60)
- second:秒,范围为[0,60)
- microsecond:微秒,范围为[0,1000000)
- tzinfo:时区

实例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime(2022,12,18,12,00,59)
# 输出 : datetime.datetime(2022, 12, 18, 12, 00, 59)

三、类方法

  1. datetime.today() 返回本地区当前日期时间datetime对象
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.today()
# 输出 : datetime.datetime(2023, 02, 07, 11, 16, 28, 801022)
  1. datetime.now(tz=None) 返回本地区当前日期时间datetime对象,可以添加时区(tz) 默认无时区时,返回结果与datetime.today()一致
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.now()

# 输出: datetime.now(2023, 02, 07, 11, 16, 28, 801022)
  1. datetime.utcnow()

返回国际标准时间的datetime对象

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.utcnow()

# 输出: datetime.utcnow(2023,02,07,03,23,42,392575)
  1. datetime.fromtimestamp(timestamp, tz=None)

返回给定时间戳的datetime对象,时区默认为空,要返回当地日期时间,也可以指定时区

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.fromtimestamp(1675740670)

# 输出 datetime.fromtimestamp(2023,02,07,11,31,10)

补充:获取当前时间戳的方式,使用time模块的time方法

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import time
time.time()

# 输出: 1675740920.8793664
  1. datetime.utcfromtimestamp(timestamp)

返回给定时间戳的datetime对象,默认为UTC(国际标准时间)

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.utcfromtimestamp(time.time())

# 输出:datetime(2023,02,07,03,40,43,742268)
  1. datetime.strptime(date_string, format)

将格式化日期时间字符串,转换为datetime对象,可以转换日期、时间、日期时间

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
datetime.strptime('2019-11-05','%Y-%m-%d')
# 输出 : datetime.datetime(2019, 11, 5, 0, 0)
datetime.strptime('09:30:50','%H:%M:%S')
# 输出 : datetime.datetime(1900, 1, 1, 9, 30, 50)
datetime.strptime('2019-11-05 09:30:50','%Y-%m-%d %H:%M:%S')
# 输出 : datetime.datetime(2019, 11, 5, 9, 30, 50)

实例方法

  1. datetime.date()

返回date(日期)对象

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,02,07,11,51,50)
d.date()
# 输出 : datetime.date(2019, 12, 6)
  1. datetime.time()

返回time(时间)对象

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,02,07,11,51,50)
d.time()
# 输出 : datetime.time(11, 51, 50)
  1. datetime.timestamp()

对于给定的 datetime对象返回时间戳

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,02,07,11,31,09)
d.timestamp()
# 输出 : 1675740670.0
  1. datetime.weekday() 返回星期几,星期一为 0,星期天为 6
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,2,7,13,30,50)
d.weekday()

# 输出 : 4
  1. datetime.isoweekday() 返回星期几,星期一为 1,星期天为 7
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,2,7,13,30,50)
d.isoweekday()

# 输出 : 2
  1. datetime.isocalendar() 返回数组:(年、第多少周、星期几)
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,02,7,13,30,50)
d.isocalendar()
# 输出 : (2023, 6, 2)
  1. datetime.ctime() 返回日期时间的字符串表示
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2023,2,7,13,30,50)
d.ctime()
# 输出 : 'Tue Feb  7 13:30:50 2023'

类实例属性

  1. datetime.year 返回给定datetime对象的年份
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
d = datetime(2019,2,7,13,30,50)
d.year

# 输出 : 2023

同理,月份,日期,某时,某分,某秒都可以这样输出,这里不再赘述。

  1. datetime.tzinfo

返回datetime对象的时区,前提是在创建datetime对象时需传入tzinfo参数,如果没有传入则返回值为None

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
# 获取一个含有时区的datetime对象
import pytz
sh = pytz.timezone('Asia/Shanghai')
d = datetime(2023, 2, 7, hour=8, tzinfo=sh)
d.tzinfo

# 输出 : <DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>

总结

本文介绍了datetime模块中datetime类的各种使用方法,欢迎继续补充,另外希望这篇文章能够帮助更多同学学习使用datetime类,更好地学习Python。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python标准库笔记(3) — datetime模块
目录[-] datetime模块提供了简单和复杂的方式用于操纵日期和时间的类。虽然支持日期和时间运算,但实现的重点是为了输出格式化和操作高效地提取属性。 1. 模块内容 内容 描述 常量 datetime.MINYEAR date和datetime对象允许的最小年份 datetime.MAXYEAR date和datetime对象允许的最大年份 类 datetime.date 日期对象,属性(year, month, day) datetime.time 时间
jhao104
2018/03/20
1.4K0
python datetime模块参数详解
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块,它提供 的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。     datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最 小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。     datetime模块定义了下面这几个类: datet
程序员同行者
2018/06/22
1.9K0
python常用内建模块之time、date、datetime
Python的time和datetime模块提供了时间日期工具, python中的时间有4种表示方式:
菲宇
2019/06/13
2.6K0
python学习笔记7.2-内建模块datetime
Datetime类是Python内建的一个关于时间的类,包含有两种数据类型,datetime类型和timestamp类型,前者是本地时间类,与自己所在时区有关;在计算机中,时间实际上是用数字表示的。我
锦小年
2018/01/02
1.4K0
Python3: datetime模块
datetime.date: 表示日期的类,常用的属性有year, month, day;
py3study
2020/01/06
1.4K0
python时间序列之datetime模块
在上篇Python时间序列的文章中Peter详细介绍了time模块,本文中重点介绍的是datetime模块。这个模块可以说是time模块的升级版本,使用的情况更为普遍和常见,用法也更为全面。文章中会通过各种例子来讲解模块的使用
皮大大
2023/08/23
1.1K0
Python基础模块:日期与时间模块@time+datetime
终于,回家之后准备好好学习一下,从python基础模块开始,今天为大家准备的是python的日期与时间处理模块time和datetime。
可以叫我才哥
2021/08/05
1.7K0
Python的datetime时间、日期处理模块详解
Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h基本一致。time模块相比,datetime模块提供的接口更直观、易用,功能也更加强大。
程序员洲洲
2024/06/07
3550
Python的datetime时间、日期处理模块详解
python常用模块大全_python常用第三方模块大全
Python官方提供的日期和时间模块主要有time和datetime模块。time偏重于底层平台,模块中大多数函数会调用本地平台上的C链接库,因此有些函数运行的结果,在不同的平台上会有所不同。datetime模块对time模块进行了封装,提供了高级API datetime模块的核心类是datetime、date、time类
全栈程序员站长
2022/09/19
4.4K0
Python时间模块那些事
python有三大时间模块,分别是time,datetime,calendar,今天来学习下
披头
2020/04/26
1.4K0
39个 Python Datetime 小例子,拯救因时间抓狂的你
我们都知道,在 Python 中有各种数据类型,例如整数、浮点数、字符串等。同时在开发脚本或各种算法当中,我们应该经常会使用日期和时间。在日常生活中,我们可以用多种不同的格式来表示日期和时间,例如,7 月 4 日、2022 年 3 月 8 日、22:00 或 2022 年 12 月 31 日 23:59:59。它们使用整数和字符串的组合,或者也可以使用浮点数来表示一天、一分钟等等,各种各样的时间表示方式,确实让人眼花缭乱。
周萝卜
2022/09/28
3.8K0
一文搞定Python中的时间转化
不同的情况会遇到不同的时间问题:具体时间点、时间间隔、星期等,无时不刻我们在和时间碰撞。本文将利用Python对时间相关的类,及其方法与属性等进行详细的讲解
皮大大
2020/12/28
2K0
一文搞定Python中的时间转化
超全!Python 处理日期与时间的全面总结!
https://www.biaodianfu.com/python-datetime.html
小F
2021/10/08
3K0
6 个 Python 的日期时间库
曾几何时,我们中的一个人(Lacey)盯了一个多小时的 Python 文档中描述日期和时间格式化字符串的表格。当我试图编写从 API 中将日期时间字符串转换为 Python datetime 对象时,我很难理解其中的特定部分,因此我决定请求帮助。
用户8639654
2021/10/14
2.1K0
又肝了3天,整理了80个Python DateTime 例子,必须收藏!
日常工作中,用 Python 处理时间格式的数据是非常常见的,今天就来分享 DateTime 相关的示例
周萝卜
2021/10/25
9.6K0
干货!这可能是你见过最全的 Python 时间处理方法总结
不同的情况会遇到不同的时间问题:具体时间点、时间间隔、星期等,无时不刻我们在和时间碰撞。本文将利用Python对时间相关的类,及其方法与属性等进行详细的讲解
小小詹同学
2021/01/22
1.4K0
干货!这可能是你见过最全的 Python 时间处理方法总结
Python处理日期方法大全、三十种方法
Python学习者
2023/12/12
3480
python的datetime库
python doc里面有段这样的描述,将日期时间分为两种类型“aware”和“naive”。navie不携带timezone时区信息,所以navie的时间格式在理解上会有歧义。
mariolu
2024/01/21
3870
python日期和时间
python中常用的处理时间的模块有两个:time 模块、datetime 模块,time模块是比较基础的一个模块,可满足对时间类型数据的基本处理;而 datetime模块可以看做是 对time模块的一个高级封装,功能更加强大,例如在时间的加减上(获取指定时间的前(后)一天的时间,获取指定时间的前(后)一小时的时间),使用datetime模块,实现起来更为方便~
py3study
2020/01/03
2.7K0
python日期和时间
《看漫画学python》第十天-常用的内置模块
datetime类表示日期和时间等信息,我们可以使用如下构造方法创建datetime对象.
用户10002156
2023/08/07
2730
《看漫画学python》第十天-常用的内置模块
相关推荐
Python标准库笔记(3) — datetime模块
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档