Python-时间及日期-07-获取本周或上周几具体日期
时间:2022-07-25
本文章向大家介绍Python-时间及日期-07-获取本周或上周几具体日期,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 Python:3.6.0
- 这个系列讲讲Python对时间及日期的操作
- 今天讲讲获取本周几的日期或者上周周几的日期
- 涉及模块:datetime
Part 1:实现功能1
- 获取本周几的日期,例如获取本周周四的日期
Part 2:代码1
import datetime
def get_current_weekday(n):
today_info = datetime.date.today()
print("今天是:", today_info)
today_n = today_info.weekday()
day_n = today_info
one_day = datetime.timedelta(days=1)
if today_n < n:
while day_n.weekday() != n:
day_n += one_day
else:
while day_n.weekday() != n:
day_n -= one_day
return day_n
current_week_day = get_current_weekday(3)
print("本周周四是:", current_week_day)
代码截图
运行结果
实际情况
Part 3:实现功能2
- 获取上周几的日期,例如获取上周3的日期
Part 4:代码2
import datetime
def get_last_wek_weekday(n):
today_info = datetime.date.today()
print("今天是:", today_info)
one_day = datetime.timedelta(days=1)
seven_day = datetime.timedelta(days=7)
last_week_day = today_info - seven_day
last_week_day_n = last_week_day.weekday()
print("上周的今天是:", last_week_day)
if last_week_day_n < n:
while last_week_day.weekday() != n:
last_week_day += one_day
else:
while last_week_day.weekday() != n:
last_week_day -= one_day
return last_week_day
last_week_day_2 = get_last_wek_weekday(2)
print("上周周三是:", last_week_day_2)
代码截图
运行结果
实际情况
Part 5:部分代码解读
-
weekday()
,返回一个数字,0表示周一,6表示周日,即真实星期减1为其返回的数字- 周四对应数字3
- 周三对应数字2
- 当前日期对应的星期几小于目标值时,就不断自增;当前日期的星期几大于目标值时,就不断自减,直到与目标值相等,输出结果
if today_n < n:
while day_n.weekday() != n:
day_n += one_day
else:
while day_n.weekday() != n:
day_n -= one_day
Ps:同样的方法可以计算出上上周,周几是几号
- Flash/Flex学习笔记(41):碰撞检测
- [.NET网格计算框架] Alchemi
- 修改WordPress登陆文件名wp-login.php,防密码被暴力破解
- NDoc - .NET 代码文档生成器
- Mono P/Invoke :DLLImport
- MONO x64 amd_x64
- DN榜:最近3个域名成交金额均达到六位数美金
- 采访Philipp Crocoll:安卓平台上整合Java和C#
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
- AI分析师PK人类分析师,结果竟然是……
- 纯代码修改WordPress 默认 Gravatar 头像的方法
- 这些行业的饭碗要被机器人抢了 再不努力就被它们PK掉了!
- DeveWork.com 上线“前端工具箱”(附源码下载)
- Debug和Release之本质区别
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- BroadcastReceiver三问—美团真题
- 小程序调用拍照功能
- Jetpack中可能被你忽视的—行为组件简析
- pytest封神之路第零步 快速入门
- beego(一) beego 入门
- javascript预编译(执行期的上下文)
- Elasticsearch评分相关度算法解析
- Netty入门教程——认识Netty
- Linux下的包过滤软件:iptables剖析
- rxjs fromEvent的实现
- rxjs switchMap的实现原理
- rxjs里scan operator的执行研究
- rxjs pipe和map组合的一个实际例子的单步调试
- Win10+Python2.7.14+cocos2d-x-3.17.2+VS2017环境搭建
- VUE-001-在表格单元格(el-table-column)中添加超链接访问