python里面查询某一天所处的周数week number时,有比较多的方法,

自己觉得下面这个方法特别棒,在一些方面的处理非常合理。

每年的最后一天必然是12月31日,是12月的最后一天,但这天不一定是这年最后一个周的最后一天,不一定是周日。

如果去年最后一天是周中某一天,那么今年第一天是连续着去年最后一个周的。

matlab里面的week number函数将每年的第一天的week number都设置成1,不管这第一天是不是周一,还是除了周一的某一天。这个在某些问题,比如,获得某个时间序列的每周的最后一天和第一天时候就有难题。但是python很好的化解了这个问题。

python里面,如果今年的第一天不是周一,那么这第一天依然是去年最后一个周的延续,week number都设置成0。当今年的第一个周一出现时候,这天开始的未来7天的week number才是1。

而且在python这个函数里面,周一是某个周的第一天,而不像matlab,除非专门设置,不然周日才是一个周的第一天。

2018年1月1号是周一,所以这天的week number就是1,而2015、2016、2017年的第一天都不是周一,所以这天到当年的周日,其week number都是0。

那么2015-2017年的最后一天,12月31号的周数肯定是52,而2018年的是53。因为一年的总天数是365或者366,就是52个整周加上1天或者2天。

虽然每年的最后一天和第一天的数字不一样,但是week number的序列的长度是一样的,比如2015-2017年间是00-52,而2018年是01-53,长度都是53。matlab那样的设置,week number的序列的长度,每年都是不一样的。

看到00的瞬间,哈哈,觉得爱上python了。LIFE IS SHORT, I USE PYTHON.

strftime函数,W是问week number, A是查周几的,w返回的是周几的数字,大小写W可能容易混淆。

import pandas as pd
datesList = ["2015-01-01", "2015-01-04","2015-01-05","2015-12-31", "2016-01-01", "2016-12-31", "2017-01-01", "2017-12-31", "2018-01-01", "2018-01-07", "2018-01-08", "2018-12-31"]
datesPD = pd.DataFrame(datesList)
datesPD[1] = pd.to_datetime(datesList).strftime("%W") #所处的周是今年第几周
datesPD[2] = pd.to_datetime(datesList).strftime("%A") #查询周几,返回英文
datesPD[3] = pd.to_datetime(datesList).strftime("%w") #查询周几,返回数字
datesPD[4] = ["", "周日不是第一天","周一是第一天", "最后一天是第52周的","", "", "", "", "第一天是周一", "", "", "最后一天是第53周的"]
datesPD.columns = ["dates", "weekNum", "weekDay", "weekDayNum","NOTE"]
         dates weekNum   weekDay weekDayNum        NOTE
0   2015-01-01      00  Thursday          4
1   2015-01-04      00    Sunday          0     周日不是第一天
2   2015-01-05      01    Monday          1      周一是第一天
3   2015-12-31      52  Thursday          4  最后一天是第52周的
4   2016-01-01      00    Friday          5
5   2016-12-31      52  Saturday          6
6   2017-01-01      00    Sunday          0
7   2017-12-31      52    Sunday          0
8   2018-01-01      01    Monday          1      第一天是周一
9   2018-01-07      01    Sunday          0
10  2018-01-08      02    Monday          1
11  2018-12-31      53    Monday          1  最后一天是第53周的

python 查询周数 week number相关推荐

  1. mysql查询周数_MySQL如何获取一个指定日期所对应本年度的周数(WEEK函数)呢?

    摘要: 下文讲述MySQL数据库中获取指定日期对应的本年的周数信息的方法分享,如下所示: 实现思路: 采用week系统函数即可获取指定日期在日期所在年度的周数信息 week系统函数语法说明: week ...

  2. python通过周数得到日期_Python-使用日期创建周数的月数列表 - python

    我有一个开始日期('2019-11-18')和一个结束日期('2021-02-19').我正在尝试创建开始日期和结束日期之间每个月所有星期的列表.我的预期结果应该是这样的: list = ['2019 ...

  3. mysql查询周数_MySQL:查询中从周数开始的周日期范围

    我有一个数据库表,看起来像这样: | id | clock | info ---------------------------------------------- | 1 | 1262556754 ...

  4. Python:猜数(number guess)

    1-10内随机产生自然数进行猜数: import random n =random.randint(0,10) while True :user_guess=int (input ("Inp ...

  5. python代码根据时间获取周数(week of the year)

    python代码根据时间获取周数(week of the year) # 使用python获取当前是当年的第多少周 import time import datetime # 获取今天是第几周 pri ...

  6. python获取时间周数_【手把手教你】Python量化策略风险指标

    如何衡量一个量化策略的好坏?一是比较稳定的收益,二是有严谨的回测,三是有清晰的逻辑.--刘富兵 引言 引言尽管过去不能代表未来,通过历史回测来评估量化策略仍然是量化投资非常重要的一环.量化回测过程中常 ...

  7. MySQL查询日期为一年第几天第几周,天数周数反查日期

    *特别说明:本文以周一为一周的起始 MAKEDATE(year,dayofyear) 返回的日期,给定年份和天 - 年值. dayofyear必须大于0,否则结果为NULL. 如果该"周&q ...

  8. oracle如何查当前日期所在周,Oracle查询当前日期对应周数

    在Oracle中查询当前日期对应的SQL oracle常见的日期格式有Date & Timestamp 其中Data常用的格式为:YYYY-MM-DD HH24-MI-SS 其中Timesta ...

  9. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践

    作者:Przemyslaw Piotrowski 首先,熟悉 Oracle-Python 连接性的基本概念 2007 年 9 月发布 参见系列目录 在 Python 做事方式的核心原则中,有一个规定是 ...

最新文章

  1. INSTALL_FAILED_MISSING_SHARED_LIBRARY + Installation failed due to: ‘null‘
  2. JAVA SE学习day_03:包装类、文件操作——file
  3. Linux和Windows文件系统
  4. Mybatis缓存配置
  5. 2021 .NET 开发者峰会顺利在网上落幕,线上直播回看汇总
  6. 【POJ-3259】 Wormholes(判负环,spfa算法)
  7. 【spider】Tesseract机器视觉实现验证码识别
  8. ASP.NET小收集:Word的编码是Unicode
  9. 使用ML.Net和C#进行机器学习
  10. MATLAB中ASCII码的举例
  11. bash脚本基础知识
  12. MySQL有sqldependency_SqlDependency的局限性是什么
  13. MSN不显示头像怎么办?
  14. 水清冷冷:PS 2021 (Adobe Photoshop 2021) 安装教程和学习方法(附工具)
  15. Qt 加载翻译文件基本方法
  16. Leetcode实战:121.买卖股票的最佳时机
  17. Tangent Convolutions 切面卷积(切线卷积)
  18. 1218. 最长定差子序列【我亦无他唯手熟尔】
  19. 商业银行经营特点与三性原则:安全性、流动性、盈利性
  20. Latex 打勾 打叉

热门文章

  1. 敦煌日历2023 | 千年流光,风雅不绝
  2. 网页设计基础教程(1) PS篇
  3. 2008年度回顾:决胜路由应用时代
  4. 【HGE引擎】源码解析——常用公共函数(二)
  5. UE4过场动画的制作流程
  6. 面试题HTML +CSS
  7. 攻防世界之Miscellaneous-300
  8. puzzle(0711)《机关排布》接水管、搭桥
  9. R7 5800H和i5 11300H参数对比差距大不大
  10. Ubuntu系统安装webrtc