取當前時間
取當前時刻年月日
- 取年
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)