日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)...

發布時間:2023/12/4 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

放兩個小輪子吧,歡迎測試bug,然后告訴我:

1、返回指定日期所在的一周

2,計算一個日期的月份和天數加減

# -*- coding: utf-8 -*-

"""

Created on Tue May 17 17:11:28 2016

@author: pcloth

關于日期的計算輪子

"""

import datetime,time,calendar

# 提交一個日期參數date(可以是字符串日期,也可以是datetime.date日期)

# 返回該日期所在的一周的日期list,從星期一到星期日

#

# 如:thisweek('2016-07-18')

# Out:

#[datetime.date(2016, 7, 18),

# datetime.date(2016, 7, 19),

# datetime.date(2016, 7, 20),

# datetime.date(2016, 7, 21),

# datetime.date(2016, 7, 22),

# datetime.date(2016, 7, 23),

# datetime.date(2016, 7, 24)]

def thisweek(date):

if type(date)==str:

try:

date_input = datetime.date.fromtimestamp(time.mktime(time.strptime(date,"%Y-%m-%d")))

except:

raise '參數錯誤:str格式的日期不合法,期待值格式:‘2016-01-01’'

elif type(date)==datetime.date:

date_input = date

else:

raise '參數錯誤:日期必須是datetime.date格式或者是str格式的合法日期比如‘2016-01-01’'

n = datetime.datetime.weekday(date_input)

weeklist = []

for i in range(7):

this_day=date_input + datetime.timedelta(0-n+i)

weeklist.append(this_day)

return weeklist

# 對一個datetime.date日期(或者str格式的日期)數據進行加減:

## add_months 是疊加的月數

# add_days 是疊加的天數

#

# 例如:date_add(datetime.date(2016,7,18),add_days=1)

# Out[65]: datetime.date(2016, 7, 19)

#

# date_add(datetime.date(2016,7,18),add_months=2,add_days=1)

# Out[66]: datetime.date(2016, 9, 19)

#

# 當然,參數也可以是負數:

# date_add('2016-01-01',add_months=-2,add_days=-1)

# Out[79]: datetime.date(2015, 10, 31)

#

#

def date_add(dt,add_months=0,add_days=0):

if type(dt)==str:

try:

dt = datetime.date.fromtimestamp(time.mktime(time.strptime(dt,"%Y-%m-%d")))

except:

raise '參數錯誤:日期必須是datetime.date格式或者是str格式的合法日期比如‘2016-01-01’'

month = dt.month + add_months

year = dt.year

if month>12:

year += int(month/12)

month = max(month%12,1)

elif month<0:

if abs(month)/12 > 0 and abs(month)/12 < 1:

year -= 1

month += 12

else:

year -= (int(abs(month)/12)+1)

month += (int(abs(month)/12)+1)*12

if month==0:

year -= 1

month = 12 - month

day = min(dt.day,calendar.monthrange(year,month)[1])

dt = dt.replace(year=year, month=month, day=day)

if add_days!=0:

dt = dt + datetime.timedelta(add_days)

return dt

總結

以上是生活随笔為你收集整理的python输入日期计算天数_用python计算日期(1、返回指定日期所在的一周,2,计算一个日期的月份和天数加减)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。