本小节学习的是关于时间方面的计算。
- 返回当前时刻的日期和时间
- 返回当前时刻的年、月、日
- 返回当前时刻的周数
- 返回当前时间所在一年中的周数
- 返回当前时间下的日期或时间
- 将日期和时间格式转换成自定义格式
- 将时间格式转换为字符串
- 将字符串格式转换为时间格式
- 时间索引
- 时间差
- 时间偏移
1.获取当前时刻的时间
- 返回当前时刻的日期和时间-datetime.now()
![6cd0701c50ec0ff1872a0c1cc5d244ba.png](https://i-blog.csdnimg.cn/blog_migrate/f36d319e20daf479b93c8bba5a0224ca.png)
- 返回当前时刻的年、月、日-now().year/now().month/now().day
![02eb8997856926dd3fbd5a8f49a4886d.png](https://i-blog.csdnimg.cn/blog_migrate/b6fcdd8e64fc7c0b93c0388761940190.png)
- 返回当前时刻的周数-weekday()
在excel中是把周日当作一周中的第一天,因此使用的函数weekday(now()-1)得到之后要减掉1;而在python中虽然是以周一作为一周中的第一天,但是计数是从0开始的,因此要加1才能得到正确的周数。
![710de0c50299a148f7d7e9c8be68189a.png](https://i-blog.csdnimg.cn/blog_migrate/3a6ef4e296f7d739c8e3a23ca163ca77.png)
- 返回当前时间所在一年中的周数-isocalendar()
![3fce0bed79047e99fd46d826b8480510.png](https://i-blog.csdnimg.cn/blog_migrate/647bd80ad05319b22d301224cf2d684c.png)
2.指定日期和时间的格式
- 返回当前时间下的日期或时间
![b438b8a308662846f8a08abf656439da.png](https://i-blog.csdnimg.cn/blog_migrate/d69cbf4cb0f6ae9d25ba464ff5b5f0e5.png)
![0defe9806508054da932593b6c2f0515.png](https://i-blog.csdnimg.cn/blog_migrate/2303ef0b007e42de4032a91e93e0e345.png)
- 将日期和时间格式转换成自定义格式-strftime( )
![bbb58fa0596c1aec76bb54d2bdcca8d6.png](https://i-blog.csdnimg.cn/blog_migrate/0a3d35505aed1a50bce76f5dcb69ad70.png)
![03e00844381326682ad84d422717bf4e.png](https://i-blog.csdnimg.cn/blog_migrate/5085644d836add8d6ac3de5f19ece678.png)
3.字符串和时间格式之间的互相转换
- 将时间格式转换为字符串-str()
![1741a6dd273fc7e6fc80338fdd20cf8c.png](https://i-blog.csdnimg.cn/blog_migrate/a524fb119deac6a4ad3f463057d20593.png)
- 将字符串格式转换为时间格式-需导入包,parse()
![374ec80c86aaa3927ce7d85c0589bea5.png](https://i-blog.csdnimg.cn/blog_migrate/e460c047d1ed105f7b54e9c37b48658f.png)
4.时间索引
- 当索引列是时间时,选择某一时间段内的值
先假设数据如下:
![ed5546cb4f4fc96c4b8241fa09186ac1.png](https://i-blog.csdnimg.cn/blog_migrate/55caa0dba6af60a337944a546ba4ed7a.png)
![d8f2978bca06631afc8b630dc9d20892.png](https://i-blog.csdnimg.cn/blog_migrate/b71a0e52fdd6a9340f701e609adbce18.png)
![68c528a59beb99f9f03d4907fcdd3350.png](https://i-blog.csdnimg.cn/blog_migrate/5650f92aa9169f12f645bf664c8d3bc7.png)
![a595e68fd5ac0355a5627a06f8f85165.png](https://i-blog.csdnimg.cn/blog_migrate/7010099eea4739bbea180d9372980103.png)
![6e1b0950a31b2965dad230b4d991f4e8.png](https://i-blog.csdnimg.cn/blog_migrate/e75bc0ad11adfad42ba89165c8009fee.png)
- 当索引列是其他,而时间在数据列中时
先假设数据如下:
![6de9875c381b651ecda16e67de42d51f.png](https://i-blog.csdnimg.cn/blog_migrate/0fbefd489420ae7330f85056024999aa.png)
![09ad1ab35b89a76b04b68d5c2c89f292.png](https://i-blog.csdnimg.cn/blog_migrate/dad58abcfd7dcff7799f8d525e98cd28.jpeg)
![fd8666d88ea6f11c55288cf55436007a.png](https://i-blog.csdnimg.cn/blog_migrate/eb5e7729bd1aadff99fe85981a608118.png)
5.时间运算
- 两个时间之差-直接相减之后得到的是天数和秒,可以将秒再换算成小时或者分钟
![72503e410bbfc01220d78daa8cd04c84.png](https://i-blog.csdnimg.cn/blog_migrate/bb482b95bb2b2b09f443361393f89377.png)
- 时间偏移-即将时间往前或往后推一段时间
在excel中注意加减的对应的都是天数,如果要加减的是小时或分钟,都先换算成天数,再相加减;
在python中实现偏移有2种方式:借助timedelta或者data offset
![4032ff7601b43ee974f3d468e86140a6.png](https://i-blog.csdnimg.cn/blog_migrate/4606b817bd63a858c33073d77725c876.png)
![0c2b4fe173961be52c77c803672fb293.png](https://i-blog.csdnimg.cn/blog_migrate/c6b824826040d1c0cdc328c566e43bfb.png)
![6dfedb21a847f2a92ea0a956914b8dc6.png](https://i-blog.csdnimg.cn/blog_migrate/5c38336bd2bbeef2838f65372cd6c8e7.png)
![19c594c954a228ce1ff4081547ea8bbd.png](https://i-blog.csdnimg.cn/blog_migrate/4fc99746977cab3c4e24159c265bcba2.png)
![6f6eff5148e4ed0d5bd4ae5ff7774b9d.png](https://i-blog.csdnimg.cn/blog_migrate/1457c7773c40d933ce771ad20b7a008a.png)
![b89afb25954cbbb980175e9c1a08aba2.png](https://i-blog.csdnimg.cn/blog_migrate/21fe65ce4a37bf4424d61743ccef4dc4.png)