前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python标准库:超棒的 "时间序列" 处理模块,4大常用时间类,用了的都说好!

Python标准库:超棒的 "时间序列" 处理模块,4大常用时间类,用了的都说好!

作者头像
快学Python
发布2021-08-09 14:55:48
9150
发布2021-08-09 14:55:48
举报
文章被收录于专栏:快学Python快学Python

人生苦短,快学Python

请关注系列文章——有用有趣的 Python库

为了灵活的处理时间,Python中提供了一个非常好用的datetime模块,这个库里面主要有4个常用类,分别为大家先简单介绍一下:

  • ① date类:主要用于处理年、月、日;
  • ② time类:主要用于处理时、分、秒;
  • ③ datetime类:date类和time类的综合使用,可以处理年、月、日、时、分、秒;
  • ④ timedelta类:主要用于做时间加减的;

下面分别为大家介绍,它们之中一些重要的属性和函数。在正式讲述之前,大家看看常用的时间格式化符号。

1. date类

① d.year、d.month、d.day:年、月、日;
② d.weekday()和d.isoweekday():在中国,主要以d.isoweekday()的使用为主;
  • d.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
  • d.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
③ d.isoformat():返回固定格式如’YYYY-MM-DD’的字符串;
④ d.strftime(format):传入任意格式符,可以输出任意格式的日期表示形式;

2. time类

① t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;
② t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
③ t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;

3. datetime类

关于这个类,最为常用,有很多常用属性和方法。

代码语言:javascript
复制
"属性"
dt.year、dt.month、dt.day:获取年、月、日;
dt.hour、dt.minute、dt.second、dt.microsecond:获取时、分、秒、微秒;

"方法"
dt.date():获取date对象;
dt.time():获取time对象;
dt.replace():传入指定的year或month或day或hour或minute或second或microsecond,生成一个新日期datetime对象,但不改变原有的datetime对象;
dt.timetuple():返回时间元组struct_time格式的日期;
dt.utctimetuple():返回时间元组struct_time格式的日期; # 这个没什么用 
dt.toordinal():返回1年1月1日开始至今的天数; # 了解就行,用处不大
dt.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
dt.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
dt.isocalendar():返回(year,week,weekday)格式的元组;
dt.isoformat():返回固定格式如'YYYY-MM-DD HH:MM:SS’的字符串;
dt.ctime():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));  # 了解就行,用处不大
dt.strftime(format):传入任意格式符,可以输出任意格式的日期表示形式。
① dt.year、dt.month、dt.day:获取年、月、日;dt.hour、dt.minute、dt.second、dt.microsecond:获取时、分、秒、微秒;
② dt.isoformat():返回固定格式如’YYYY-MM-DDTHH:MM:SS’的字符串;
③ dt.strftime(format):传入任意格式符,可以输出任意格式的日期表示形式;

4. timedelta类

① 分别创建date类、datetime这两个类的对象;
② 利用date类的对象,配合timedelta,进行时间的加减;
③ 利用datetime类的对象,配合timedelta,进行时间的加减;
代码语言:javascript
复制
from datetime import *

dt = datetime(2012,12,12,23,59,59)
print(dt)

# 昨天
dt1 = dt + timedelta(days=-1)
print(dt1)
# 明天
dt2 = dt + timedelta(days=1)
print(dt2)
# 上一个小时
dt3 = dt + timedelta(hours=-1)
print(dt3)
# 下一个小时
dt4 = dt + timedelta(hours=1)
print(dt4)
# 上一秒
dt5 = dt + timedelta(seconds=-1)
print(dt5)
# 下一秒
dt6 = dt + timedelta(seconds=1)
print(dt6)

人生苦短,快学Python

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 快学Python 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. date类
  • 2. time类
  • 3. datetime类
  • 4. timedelta类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档