取当前时间
取当前时刻年月日
- 取年
datetime.now.now().yeay
- 取月
datetime.now.now().month
- 取日
datetime.now.now().day
from datetime import datetime
"""取当前时间与日期"""
datetime.now()
# 2019-06-22 22:15:16.529856
"""取年"""
datetime.now().year
# 2019
"""取月"""
datetime.now().month
# 06
"""取日"""
datetime.now().day
# 22
取当前周数
- 返回周几
.weekday()+1
- 返回第几周(当年中)
.isocalendar()
from datetime import datetime
"""返回今天是周几"""
datetime.now().weekday()+1
"""范围今天是今年的第几周"""
datetime.now().isocalendar()
# 返回元祖 (2019, 25, 6) 年、第几周、周几
指定日期格式
- 用
date()
自动化设置 - 用
time()
设置 - 利用
strftime()
自定义时间格式
from datetime import datetime
datetime.now().date()
# datetime.date(2019, 6, 22)
datetime.now().time()
# datetime.time(22, 26, 52, 200593)
代码 | 说明 |
---|---|
%H | 小时(24小时制) |
%I | 小时(12小时制) |
%M | 两位数的分钟 |
%S | 秒 |
%w | 星期几(0开始) |
%U | 每年的第几周,周日为每周第一天 |
%W | 每年的第几周,周一为每周第一天 |
%F | 简写为 年-月-日 |
%D | 简写为 月/日/年 |
strftime()
案例
from datetime import datetime
datetime.now().strftime('%Y-%m-%d')
字符串转换
时间 ==> 字符串
- 取出当前时间
- 利用
strftime()
组装成所需格式 - 利用
str()
转换成所需字符串
from datetime import datetime
now = datetime.now()
str(now.strftime('%Y-%m-%d'))
字符串 ==> 时间
使用
parse()
函数将时间格式转化为字符串格式
from datetime import datetime
from dateutil.parser import parse
str_time = '2019-06-22'
parse(str_time)
时间索引
Pandas 可以根据时间来对字段数据进行筛选的一种方式
- 时间等于
==
- 时间之后
>
- 时间之前
>
- 时间之间
&
import pandas as pd
df = pd.read_excel(r'时间操作.xlsx')
"""取成交在8月10日之前的"""
df[df['成交时间']<datetime(2018,8,10)]
[外链图片转存失败(img-pqPKwAxr-1562034017600)(https://www.zhangkunzhi.com/images/时间操作表2.png)]
"""在8日到10日之间的"""
df[(df['成交时间']>datetime(2018,8,8))&(df['成交时间']<datetime(2018,8,10))]
[外链图片转存失败(img-NtcX3HCl-1562034017600)(https://www.zhangkunzhi.com/images/时间操作表3.png)]
时间运算
两个时间之差
差值.days
按天差值.seconds
按秒
from datetime import datetime
cha = datetime.now() - datetime(2019,5,21,19,50)
# 33 days, 2:07:09.066486
cha.days # 取差 按天算
cha.seconds # 取茶 按秒算
时间偏移
指给时间往前或者往后推一段时间,即加或减一段时间。
- 利用 timedelta 支持天、秒、微秒偏移
- 利用 Pandas 中日期偏移量
timedelta
支持
days
与seconds
from datetime import datetime, timedelta
date = datetime.now()
date + timedelta(days=1) # 天数加 1
Pands 的 date offset
支持
- Day(1)
- Hour(1)
- Minute(1)
from pandas.tseries.offsets import Day,Hour,Minute
from datetime import datetime
date = datetime.now()
date + Day(1)