查看原文
其他

日期数据操作第1期 datetime库

大邓 大邓和他的Python 2022-07-09

datetime模块

日期数据操作挺重要的,之前分享过

Python中处理日期时间库的使用方法

Arrow日期时间处理库

现在觉得日期数据的操作挺重要的,准备分割成小知识点,连续更新几天。

今天更新第一期 datetime库

构建datetime型数据

日期时间类,常用的参数包含year、month、day、hour、minute、second、microsecond。但是至少要包含year、month、day三个参数。

  1. import datetime


  2. date1 = datetime.datetime(year=2018, month=5, day=11)

  3. print(date1)

  4. print(type(date1))

  1. 2018-05-11 00:00:00

  2. <class 'datetime.datetime'>

strftime 格式化字符串

datetime.datetime数据类型可以根据自身需要转换表现形式,

datetime_obj.strftime('日期表达式')

日期表达式

  1. %a 星期的简写。如 星期三为Web

  2. %A 星期的全写。如 星期三为Wednesday

  3. %b 月份的简写。如4月份为Apr

  4. %B 月份的全写。如4月份为April

  5. %c: 日期时间的字符串表示。(如: 04/07/10 10:43:39)

  6. %d: 日在这个月中的天数(是这个月的第几天)

  7. %f: 微秒(范围[0,999999])

  8. %H: 小时(24小时制,[0, 23])

  9. %I: 小时(12小时制,[0, 11])

  10. %j: 日在年中的天数 [001,366](是当年的第几天)

  11. %m: 月份([01,12])

  12. %M: 分钟([00,59])

  13. %p: AM或者PM

  14. %S: 秒(范围为[00,61],为什么不是[00, 59]

  15. %U: 周在当年的周数当年的第几周),星期天作为周的第一天

  16. %w: 今天在这周的天数,范围为[0, 6],6表示星期天

  17. %W: 周在当年的周数(是当年的第几周),星期一作为周的第一天

  18. %x: 日期字符串(如:04/07/10)

  19. %X: 时间字符串(如:10:43:39)

  20. %y: 2个数字表示的年份

  21. %Y: 4个数字表示的年份

  22. %z: 与utc时间的间隔 (如果是本地时间,返回空字符串)

  23. %Z: 时区名称(如果是本地时间,返回空字符串)

实例

  1. print(date1.strftime('%d/%m/%Y'))

  2. print(date1.strftime('%Y-%m-%d'))

Run

  1. 11/05/2018

  2. 2018-05-11

strptime 将日期字符串解析为datetime

将日期字符串解析为datetime数据类型

datetime.datetime.strptime('日期字符串', '日期格式')

  1. datetime.datetime.strptime('2019-11-11', '%Y-%m-%d')

Run

  1. datetime.datetime(2019, 11, 11, 0, 0)

timedelta 时间间隔操作

表示时间间隔类,给一个时间点加上此类,即可得到一个新的时间。

参数包含days、hours、minutes、seconds、microseconds。

  1. #1天零1小时零1分零1秒又10毫秒的时间间隔

  2. datetime.timedelta(days=1,hours=1,minutes=1,seconds=1,microseconds=10)

  1. datetime.timedelta(days=1, seconds=3661, microseconds=10)

35天后

  1. #35天间隔

  2. datetime.timedelta(days=35)

Run

  1. datetime.timedelta(days=35)

2018-5-11的35天后是?

  1. date1 = datetime.datetime(year=2018, month=5, day=11)

  2. delta = datetime.timedelta(days=35)

  3. date2 = date1+delta

  4. print(date2)

  5. print(date2.strftime('%Y-%m-%d'))

  1. 2018-06-15 00:00:00

  2. 2018-06-15


近期文章

代码不到40行的超燃动态排序图

Python网络爬虫与文本数据分析

Python语法快速入门

Python爬虫快速入门

文本数据分析文章汇总(2016-至今)

当文本分析遇到乱码(ง'⌣')ง怎么办?

Loughran&McDonald金融文本情感分析库

使用分析师报告中含有的情感信息预测上市公司股价变动

当pandas遇上数据类型问题

如何理解pandas中的transform函数

计算社会经济学

一行pandas代码生成哑变量

Python最被低估的库,用好了效率提升10倍!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存