常用 Python 时间操作方法,与 Pandas 结合
取当前时间
取当前时刻年月日
- 取年
datetime.now.now().yeay
- 取月
datetime.now.now().month
- 取日
datetime.now.now().day
- 13 位时间戳
int(round(time.time() * 1000))
- 10 位时间戳
int(time.time())
1 | from datetime import datetime |
取当前周数
- 返回周几
.weekday()+1
- 返回第几周(当年中)
.isocalendar()
1 | from datetime import datetime |
指定日期格式
- 用
date()
自动化设置 - 用
time()
设置 - 利用
strftime()
自定义时间格式
1 | from datetime import datetime |
代码 | 说明 |
---|---|
%H |
小时(24小时制) |
%I |
小时(12小时制) |
%M |
两位数的分钟 |
%S |
秒 |
%w |
星期几(0开始) |
%U |
每年的第几周,周日为每周第一天 |
%W |
每年的第几周,周一为每周第一天 |
%F |
简写为 年-月-日 |
%D |
简写为 月/日/年 |
strftime()
案例
1 | from datetime import datetime |
字符串转换
时间 ==> 字符串
- 取出当前时间
- 利用
strftime()
组装成所需格式 - 利用
str()
转换成所需字符串
1 | from datetime import datetime |
字符串 ==> 时间
使用
parse()
函数将时间格式转化为字符串格式
1 | from datetime import datetime |
时间索引
Pandas 可以根据时间来对字段数据进行筛选的一种方式
- 时间等于
==
- 时间之后
>
- 时间之前
>
- 时间之间
&
1 | import pandas as pd |
1 | """在8日到10日之间的""" |
时间运算
两个时间之差
差值.days
按天差值.seconds
按秒
1 | from datetime import datetime |
时间偏移
指给时间往前或者往后推一段时间,即加或减一段时间。
- 利用 timedelta 支持天、秒、微秒偏移
- 利用 Pandas 中日期偏移量
timedelta
支持
days
与seconds
1 | from datetime import datetime, timedelta |
Pands 的 date offset
支持
- Day(1)
- Hour(1)
- Minute(1)
1 | from pandas.tseries.offsets import Day,Hour,Minute |