Python数据分析 知识量:13 - 56 - 232
Python中两个时间相减会返回一个timedelta对象,这个对象包含天数、秒和微秒,如果要得到准确的小时、分钟,就需要进行转换。下面是一个示例:
>>> from datetime import datetime >>> c=datetime.now()-datetime(2021,7,1,8,10) >>> c datetime.timedelta(days=5, seconds=4810, microseconds=658477) >>> c.days 5 >>> c.seconds 4810 >>> c.seconds/3600 1.336111111111111
代码中最后一行是将时间差的秒部分转换为小时后的结果。
时间偏移就是对某个时间点前推或后推一段时间。在Python中可以使用timedelta对象或Pandas中的日期偏移量来实现。
1、使用timedelta对象。
timedelta对象的方法只能偏移天、秒和微秒单位的时间,如果要偏移小时等其他单位,就需要换算后再操作。
>>> from datetime import datetime >>> from datetime import timedelta >>> now=datetime.now() >>> now datetime.datetime(2021, 7, 6, 11, 57, 44, 207549) >>> now+timedelta(days=3) # 3天之后的时间 datetime.datetime(2021, 7, 9, 11, 57, 44, 207549) >>> now-timedelta(seconds=3600) # 1小时之前的时间,即3600秒之前。 datetime.datetime(2021, 7, 6, 10, 57, 44, 207549)
2、使用Pandas日期偏移量。
Pandas的日期偏移量可以直接进行天、小时、分钟单位时间的偏移,不需要换算。
>>> from datetime import datetime >>> from pandas.tseries.offsets import Day,Hour,Minute >>> now=datetime.now() >>> now datetime.datetime(2021, 7, 6, 12, 0, 33, 64299) >>> now+Day(30) # 30天之后的时间 Timestamp('2021-08-05 12:00:33.064299') >>> now+Hour(1) # 1小时之后的时间 Timestamp('2021-07-06 13:00:33.064299') >>> now-Minute(5) # 5分钟之前的时间 Timestamp('2021-07-06 11:55:33.064299')
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6