先理一下思路:
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. 7.windows-oracle实战第七课 --约束、索引

    数据的完整性 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则.数据的完整性使用约束.触发器.函数的方法来实现.在这三个方法中,约束易于维护,具备最好的性能,所以作为首选.  约束:not nu ...

  2. 四、Shell脚本高级编程实战第四部

    一.比较两个数的大小 #!/bin/shread -p "Pls input two num:" a b[ -z "$a" ] || [ -z "$b ...

  3. PyTorch基础——词向量(Word Vector)技术

    一.介绍 内容 将接触现代 NLP 技术的基础:词向量技术. 第一个是构建一个简单的 N-Gram 语言模型,它可以根据 N 个历史词汇预测下一个单词,从而得到每一个单词的向量表示. 第二个将接触到现 ...

  4. anaconda学习笔记

    anaconda介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. Conda是一个开源的包.环境管理器,可以用于在同一个机器上 ...

  5. Crowd Control

    我的图论还是只会套模板 嘤嘤嘤 题目描述 The BAPC draws a large number of visitors to Amsterdam. Many of these people ar ...

  6. 2018 ACM-ICPC 宁夏 H.Fight Against Monsters(贪心)

    It is my great honour to introduce myself to you here. My name is Aloysius Benjy Cobweb Dartagnan Eg ...

  7. python-django框架-电商项目-用户模块开发_20191117

    实现注册的基本逻辑: 1,注册页面 注意:注册页面需要静态文件的支持,另外注册页面是基础基类的, 1,url,路由系统, 2,views,视图系统,还是使用类视图,里面有很多的函数, 2,views. ...

  8. Linux的iptables菜鸟初学

    什么是iptables? iptables是linux下的命令行工具,操控的是linux的防火墙,这个防火墙叫netfilter.通俗的说应该是用户通过iptables把安全设定设置给netfilte ...

  9. 成为一名PHP专家其实并不难

    本文作者Bruno Skvorc是一名资深的Web开发者.在这篇文章里主要是讲述成为一名专业的PHP专家所要经历的过程,以及在这个过程里要如何学习掌握技巧和对工具的舍取.(以下为编译内容) 当阅读各种 ...

  10. ByteCode Instrumentation

    Bytecode Instrumentation 定义 我们首先来看看,什么叫"Instrumentation"?Instrumentation这个词有很多意思,在维基百科中,它是 ...