门户网站开发案例,wordpress备案号格式,电子商务网站建设作文,你第一个物流网站建设方案放两个小轮子吧#xff0c;欢迎测试bug#xff0c;然后告诉我#xff1a;1、返回指定日期所在的一周2#xff0c;计算一个日期的月份和天数加减# -*- coding: utf-8 -*-Created on Tue May 17 17:11:28 2016author: pcloth关于日期的计算轮子欢迎测试bug然后告诉我1、返回指定日期所在的一周2计算一个日期的月份和天数加减# -*- coding: utf-8 -*-Created on Tue May 17 17:11:28 2016author: 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  dateelse:raise 参数错误日期必须是datetime.date格式或者是str格式的合法日期比如‘2016-01-01’n  datetime.datetime.weekday(date_input)weeklist  []for i in range(7):this_daydate_input  datetime.timedelta(0-ni)weeklist.append(this_day)return weeklist# 对一个datetime.date日期(或者str格式的日期)数据进行加减## add_months 是叠加的月数# add_days 是叠加的天数## 例如date_add(datetime.date(2016,7,18),add_days1)# Out[65]: datetime.date(2016, 7, 19)## date_add(datetime.date(2016,7,18),add_months2,add_days1)# 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_months0,add_days0):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_monthsyear  dt.yearif month12:year  int(month/12)month  max(month%12,1)elif month0:if abs(month)/12  0 and abs(month)/12  1:year - 1month  12else:year - (int(abs(month)/12)1)month  (int(abs(month)/12)1)*12if month0:year - 1month  12 - monthday  min(dt.day,calendar.monthrange(year,month)[1])dt  dt.replace(yearyear, monthmonth, dayday)if add_days!0:dt  dt  datetime.timedelta(add_days)return dt