先理一下思路:
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. vue slot插槽v-show不控制显示隐藏

    vue中想控制插槽的显示隐藏,用v-show是不起任何作用的,改用v-if 可以生效.

  2. SaltSack 中Job管理

    一.简介 Jid: job id的格式为%Y%m%d%H%M%S%f master在下发指令消息时,会附带上产生的jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var ...

  3. Snapchat欲联手亚马逊推扫一扫功能,社交应用营收来源将有大变化?

    当下的社交应用,已经不能完全仅用"社交"的标签进行定义.因为目前的社交应用不仅承载着大众的喜怒哀乐和沟通指责,更在逐渐打造起一个连接多方的生态系统.甚至只从自身的营收.利润出发,社 ...

  4. iOS keychain报错 25293

    经过查找发现25293对应的错误是如下,即用户名和密码不正确. errSecAuthFailed                         = -25293,    /* The user na ...

  5. Form表单中method="post/get'的区别

    Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一 ...

  6. iOS 有关二维码

    一.把相应的URL生成二维码 利用有关图像变成的框架 #import <CoreImage/CoreImage.h> 步骤:实例化二维码滤镜---->恢复滤镜属性---->将字 ...

  7. 移植linux4.14内核到四核Exynos4412开发板

    最近法师收到了很多留言,其中有一部分问法师什么时候更新,还有一大部分问法师我是买迅为的IMX6UL精英版好呢还是买4412精英版好呢,因为我们这俩个都不贵.法师的建议的是入手4412!为什么呢? 第一 ...

  8. How Cocoa Beans Grow And Are Harvested Into Chocolate

    What is Cocoa Beans Do you like chocolate? Most people do. The smooth, brown candy is deliciously sw ...

  9. linux系统权限(基本权限)

    linux的系统权限:r--  100 4-w- 010 2--x  001 1 [root@localhost ~]# ll -d dir drwxrwxrwx root root Nov : di ...

  10. [LC] 159. Longest Substring with At Most Two Distinct Characters

    Given a string s , find the length of the longest substring t  that contains at most 2 distinct char ...