先理一下思路:
1、weekday会根据某个日期返回0到6的一个数字来表示星期几对吧,0==星期一
我们来列一个表:

[0,1,2,3,4,5,6]

2、知道了星期几之后,你可以计算出那一周相对于这个0到6的数字的差值(比如你确定一个比较值0,那么取得该日期的weekday值假设为n,那么这个差值就是0-n对吧,针对第一条发现的列表,假设我们指定的日期是星期二,weekday数值为1:

[0,1,2,3,4,5,6]
n

就是说n在列表中1的位置,数值也是1,那么前面星期一是否就刚好是0-1的相对位置了呢?
理解了么?0-n就刚好是星期一所代表的相对位置。
那么星期二呢?是不是就是0-n+1?
自然的,星期三就是0-n+2
0-n+3
0-n+4
0-n+5
0-n+6,就是星期日

3、知道了相对位置,那么只需要进行日期的叠加就可以了。
以下的代码不推荐你直接使用:

import datetime,time

def thisweek(str_dat 大专栏  Python计算给定日期的周内的某一天e):
try:
#尝试将参数转换成为datetime.date格式,1是方便后面的日期加减,2是验证日期是否有效。
date_input = datetime.date.fromtimestamp(time.mktime(time.strptime(str_date,"%Y-%m-%d")))
except:
raise '参数错误:错误的日期,期待值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([i,this_day]) return weeklist

运行结果为:【星期几,日期】,同样0表示星期一

thisweek('2016-07-18')
[[0, datetime.date(2016, 7, 18)], [1, datetime.date(2016, 7, 19)], [2, datetime.date(2016, 7, 20)], [3, datetime.date(2016, 7, 21)], [4, datetime.date(2016, 7, 22)], [5, datetime.date(2016, 7, 23)], [6, datetime.date(2016, 7, 24)]]

Python计算给定日期的周内的某一天的更多相关文章

  1. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  2. Python中关于日期的计算总结

    1.获取当前时间的两种方法: 代码如下: import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print now ...

  3. python计算两个日期时间差

    经常在python中因为日期而google,在此做个小笔记. >>>import datetime >>> a = datetime.date.today() &g ...

  4. Mysql 查询当天、昨天、近7天、一周内、本月、上一月等的数据(函数执行日期的算术运算)

    注:where语句后中的字段last_login_time 替换成 时间字段名 即可 #查询昨天登录用户的账号 ; #查询当天登录用户的账号 ; #查询所有last_login_time值在最后1天内 ...

  5. python datetime 时间日期处理小结

    python datetime 时间日期处理小结 转载请注明出处:http://hi.baidu.com/leejun_2005/blog/item/47f340f1a85b5cb3a50f5232. ...

  6. Python时间和日期学习

    #coding=utf-8 __author__ = 'Administrator' #日期和时间模块学习 """ Python程序能用很多方式处理日期和时间,转换日期格 ...

  7. Python中的日期和时间

    感觉C语言作为一门编程的入门语言还是很好的,相比较之下,Python为代表的一些语言,适合很多非计算机专业的编程入门学习. Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换 ...

  8. Python时间与日期操作(datetime、time、calendar)

    相关模块 模块 说明 time time是一个仅包含与日期和时间相关的函数和常量的模块,在本模块中定义了C/C++编写的几个类.例如,struct_time类 datetime datetime是一个 ...

  9. python时间和日期

    一.time 和 calendar 模块可以用于格式化日期和时间 import time; # 引入time模块 ticks = time.time() print "当前时间戳为:&quo ...

随机推荐

  1. 17.3.20---python的变量作用域

    1---变量的作用域 在Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域.Python的作用域是静态的,在源代码中变量名被赋值的位置决 ...

  2. apt源换国内源

    vim /etc/apt/sources.list deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http:// ...

  3. Gym 101987K TV Show Game(2-SAT)

    题目链接:https://vj.z180.cn/b4aacc08fc7aab6ce14e7baf13816c24?v=1571542994 题目要求n个灯(R,B),给出m组赋值方式,每一组中至少有两 ...

  4. python+selenium自动化--参数化(paramunittest)

    unnittest的参数化模块-paramunittest paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 两种用法 import unit ...

  5. 函数(Python)

    函数是什么? 计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数 ...

  6. 1)关于配置centos的网络问题

    网址: http://jingyan.baidu.com/article/f3e34a12d886d2f5eb653515.html

  7. 43)PHP,mysql_fetch_row 和mysql_fetch_assoc和mysql_fetch_array

    mysql_fetch_row   提取的结果是没有查询中的字段名了(也就是没有键id,GoodsName,只有值),如下图: mysql_fetch_assoc 提取的结果有键值,如下图: mysq ...

  8. scala编程(五)——基本类型和操作

    文本 文本是直接在代码里写常量值的一种方式以.在Scala中并不显式的使用Int或float,而是以文本的方式写成 val 变量. 如果整数文本结束于 L 或者 l,就是 Long 类型,否则就是 I ...

  9. window下mysql安装步骤

    1. 官网下载mysql zip包 2. 解压后再D:\database\mysql\mysql-5.7.26-winx64下添加my.ini文件,文件内容如下: [mysql]# 设置mysql客户 ...

  10. java 计算一个月有多少天和多少周

    import java.util.Calendar; /** * 功能概述:计算指定年月的天数和周数<br> */ public class Test{ public static voi ...