python:日期转换计算大全

本文介绍Python中日期的基本操作,包括计算日期差、日期加减、获取指定周次的日期范围、生成日期序列及从日期中提取特定组件等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 计算日期差几天

from datetime import datetime
a = '2019'
b = '6'
c = '26'
if __name__ == '__main__':
    cur_day = datetime(int(a), int(b), int(c))
    next_day = datetime(2019, 7, 31)
    print((next_day - cur_day).days)  # 1
    print("ok")

2.日期加减几天/几月/几年

from dateutil.relativedelta import relativedelta
import datetime
s_time= datetime.datetime.now()
print(s_time) # 2020-04-27 20:55:35.117521
#减一个月
stMonth = (s_time - relativedelta(months=1))
print(stMonth) # 2020-03-27 20:55:35.117521
stMonth = (s_time - relativedelta(years=1))
stMonth = (s_time - relativedelta(months=1))
stMonth = (s_time - relativedelta(days=1))
stMonth = (s_time - relativedelta(weeks=1))
stMonth = (s_time - relativedelta(hours=1))
stMonth = (s_time - relativedelta(minutes=1))
stMonth = (s_time - relativedelta(seconds=1))

3. 知道年份和周次,计算属于当年的日期

import pandas as pd
import time,datetime
from isoweek import Week
from isoweek import Week
w = Week(2021, 10)#年份,周次=当前周次-1
print ("Week %s starts on %s" % (w, w.monday()))
print ("Current week number is", Week.thisweek().week)
a = w.monday()-datetime.timedelta(days=1)
delta = datetime.timedelta(days=1)#转成:周日为一周的第一天
print ((a-delta).strftime('%Y/%m/%d'))#日期格式转换

4. 日期去掉时分秒显示

5. 生成日期序列

pd.date_range(start=None,end=None,periods=None,
freq=None,tz=None,normalize=False,name=None,
close=None,**kwargs)

参数解释:
start:日期序列开始日期
end:日期序列结束日期
periods:生成多少个数
freq:生成日期的频率。天-D,月-M,年-Y,S-秒,H-时,T-分钟,季度-Q

6. 从日期数据中提取成分

pd.to_datetime('20200307').month

#year:日
#month:月
#week:周
#day:日

pd.to_datetime('20200101').strftime('%Y-%m')

7. 日期去掉时分秒

pd.to_datetime().dt.normalize()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值