【Python 标准库学习】日期和时间处理库 — datetime

欢迎加入 Python 官方文档翻译团队:https://www.transifex.com/python-doc/


datetime 模块提供了可以通过多种方式操作日期和时间的类。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。

datetime 模块包括 data、time 的所有功能,常用的 datatime 实例方法如下:

datetime.now():获取当天的日期和时间

datetime.date(t):获取当天的日期,t 为 datetime 实例参数

datetime.time(t):获取当天的时间,t 为 datetime 实例参数

datetime.ctime(t):获取【星期 月 日 时 分 秒 年】格式的字符串,t 为 datetime 实例参数

datetime.utcnow(t):获取当前的 UTC(Universal Time Coordinated,协调世界时)日期和时间

datetime.timestamp(t):获取当天的 UNIX 时间戳,t 为 datetime 实例参数

datetime.fromtimestamp(t_tamp):根据时间戳返回 UTC 日期时间,t_tamp 为时间戳浮点数

datetime.combine(d, t):绑定日期、时间,生成新的 datetime 对象,d 为日期对象,t 为时间对象

datetime.strptime(date_str, sf):根据字符串和指定的格式生成新的 datetime 对象,date_str 为字符串日期时间,sf 为指定格式

datetime.timetuple(t):把 datetime 对象所有属性转为时间元组对象,t 为 datetime 实例参数

t.isocalendar():获取 ISO 格式的日期(元组形式),t 为 datetime 实例对象

t.strftime(date_str_format):获取自定义格式的日期时间字符串,t 为 datetime 实例对象,date_str_format 指定格式


datetime 模块里面的 datetime 类基本功能示例:

>>> from datetime import datetime, date, time          # 从 datetime 模块导入 datetime、date、time
>>> 
>>> print(datetime.now())                              # 返回当天的日期和时间
2020-02-21 15:32:27.356006
>>> 
>>> today = datetime.now()                             # 定义 today 为当前日期时间对象
>>> print(datetime.date(today))                        # 返回当天的日期对象
2020-02-21
>>> 
>>> print(datetime.time(today))                        # 返回当天的时间对象
15:57:38.770308
>>> 
>>> print(datetime.ctime(today))                       # 返回【星期 月 日 时 分 秒 年】格式的字符串
Fri Feb 21 15:57:38 2020
>>> 
>>> print(datetime.utcnow())                           # 返回当前的 UTC 日期和时间
2020-02-21 07:59:27.180956
>>> 
>>> print(datetime.timestamp(today))                   # 返回当天的 UNIX 时间戳,浮点数类型
1582271858.770308
>>> 
>>> print(datetime.fromtimestamp(datetime.timestamp(today)))   # 根据时间戳返回 UTC 日期时间
2020-02-21 15:57:38.770308
>>> 
>>> date1 = date(2020,2,21)                            # 使用 date 类,实现实例化 date1 对象
>>> time1 = time(16,2,30)                              # 使用 time 类,实现实例化 time1 对象
>>> print(datetime.combine(date1, time1))              # 绑定日期、时间,生成新的 datetime 对象
2020-02-21 16:02:30
>>> 
>>> NewDateTime = datetime.strptime("21/2/20 16:10", '%d/%m/%y %H:%M')   # 用字符串和指定格式生成新的 datetime 对象
>>> print(NewDateTime)
2020-02-21 16:10:00
>>> 
>>> today = datetime.now()                             # 定义 today 为当前日期时间对象
>>> for i in datetime.timetuple(datetime.now()):       # 将 today 当作时间元组,循环打印
	print(i)

2020
2
21
17
57
43
4
52
-1
>>> 
>>> print(today.isocalendar())                           # ISO 格式的日期
(2020, 8, 5)
>>> 
>>> print(today.strftime('%Y 年 %m 月 %d 日 %H:%M:%S %p   # 对 datetime 对象自定义格式,返回字符串类型的值
2020022117:57:02 PM

strftime()strptime() 方法会用到时间日期格式化符号,各个格式化符号所代表的意思如下:

格式化符号含义
%a本地简化星期名称
%A本地完整星期名称
%b本地简化的月份名称
%B本地完整的月份名称
%c本地相应的日期表示和时间表示
%d月内中的一天(0-31)
%f以十进制数表示的毫秒,在左侧补零
%H24小时制小时数(0-23)
%I12小时制小时数(01-12)
%j年内的一天(001-366)
%m月份(01-12)
%M分钟数(00-59)
%p本地A.M.或P.M.的等价符
%S秒(00-59)
%U一年中的星期数(00-53)星期天为星期的开始
%w星期(0-6),星期天为星期的开始
%W一年中的星期数(00-53)星期一为星期的开始
%x本地相应的日期表示
%X本地相应的时间表示
%y两位数的年份表示(00-99)
%Y四位数的年份表示(000-9999)
%z±HHMM[SS[.ffffff]] 形式的 UTC 差值(如果对象为简单型则为空字符串)
%Z当前时区的名称
%%%号本身
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT.BOB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值