import pandas as pd
import datetimedef state(statedate):# 周日期对应# 往前取365天df = pd.DataFrame([str(d)[:10] for d in pd.date_range(end=statedate, periods=365)],columns=['date'])# 生成周df['week'] = df['date'].apply(lambda x: int(datetime.datetime.strptime(x,"%Y-%m-%d").strftime("%W")))df['week'] = df['week'].apply(lambda x:'%s%s' % ('week', str(x)))# 取年月df['new_date'] = df['date'].apply(lambda x: x[-5:])# 排序df = df.sort_values(by=['new_date'],ascending=[True])# 周开始日期df_first = df.drop_duplicates(subset=['week'], keep='first')df_first = df_first.rename(columns={'new_date':'start_date'})# 周结束日期df_last = df.drop_duplicates(subset=['week'], keep='last')df_last = df_last.rename(columns={'new_date':'end_date'})df_date = pd.merge(df_first[['start_date','week']],df_last[['end_date','week']],on='week')tt = datetime.datetime.strptime(statedate, '%Y-%m-%d')this_year = tt.yeardf_date['start_date'] = df_date['start_date'].apply(lambda x:'%s-%s' % (str(this_year), str(x)))df_date['end_date'] = df_date['end_date'].apply(lambda x: '%s-%s' % (str(this_year), str(x)))return df_date
print(state('2018-12-31'))start_date    week    end_date
0   2018-01-01   week1  2018-01-07
1   2018-01-08   week2  2018-01-14
2   2018-01-15   week3  2018-01-21
3   2018-01-22   week4  2018-01-28
4   2018-01-29   week5  2018-02-04
5   2018-02-05   week6  2018-02-11
6   2018-02-12   week7  2018-02-18
7   2018-02-19   week8  2018-02-25
8   2018-02-26   week9  2018-03-04
9   2018-03-05  week10  2018-03-11
10  2018-03-12  week11  2018-03-18
11  2018-03-19  week12  2018-03-25
12  2018-03-26  week13  2018-04-01
13  2018-04-02  week14  2018-04-08
14  2018-04-09  week15  2018-04-15
15  2018-04-16  week16  2018-04-22
16  2018-04-23  week17  2018-04-29
17  2018-04-30  week18  2018-05-06
18  2018-05-07  week19  2018-05-13
19  2018-05-14  week20  2018-05-20
20  2018-05-21  week21  2018-05-27
21  2018-05-28  week22  2018-06-03
22  2018-06-04  week23  2018-06-10
23  2018-06-11  week24  2018-06-17
24  2018-06-18  week25  2018-06-24
25  2018-06-25  week26  2018-07-01
26  2018-07-02  week27  2018-07-08
27  2018-07-09  week28  2018-07-15
28  2018-07-16  week29  2018-07-22
29  2018-07-23  week30  2018-07-29
30  2018-07-30  week31  2018-08-05
31  2018-08-06  week32  2018-08-12
32  2018-08-13  week33  2018-08-19
33  2018-08-20  week34  2018-08-26
34  2018-08-27  week35  2018-09-02
35  2018-09-03  week36  2018-09-09
36  2018-09-10  week37  2018-09-16
37  2018-09-17  week38  2018-09-23
38  2018-09-24  week39  2018-09-30
39  2018-10-01  week40  2018-10-07
40  2018-10-08  week41  2018-10-14
41  2018-10-15  week42  2018-10-21
42  2018-10-22  week43  2018-10-28
43  2018-10-29  week44  2018-11-04
44  2018-11-05  week45  2018-11-11
45  2018-11-12  week46  2018-11-18
46  2018-11-19  week47  2018-11-25
47  2018-11-26  week48  2018-12-02
48  2018-12-03  week49  2018-12-09
49  2018-12-10  week50  2018-12-16
50  2018-12-17  week51  2018-12-23
51  2018-12-24  week52  2018-12-30
52  2018-12-31  week53  2018-12-31

Python-根据日期计算周对应的日期相关推荐

  1. 【新】Python获取前N周时间开始日期和截止日期

    Python获取前N周时间开始日期和截止日期 直接上代码 结果 直接上代码 import datetimetoday = datetime.datetime.today().date() print ...

  2. 【虚幻引擎】根据日期计算周几

    今天有个小需求,就是根据日期计算周几. 百度搜了一下有现成的公式,蔡勒公式和基姆拉尔森公式.在蓝图中也可以直接写数学表达式.表达式没有推导过程.正好在虚幻中发现这两个节点"年中的天数&quo ...

  3. java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...

    本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...

  4. mysql日期返回周一_MYSQL如何获得指定日期所在周周一的日期?

    你的位置: 问答吧 -> PHP基础 -> 问题详情 MYSQL如何获得指定日期所在周周一的日期? 如何获得指定日期所在周周一的日期?比如如何获得本周周一的日期? 作者: 十月冷风 发布时 ...

  5. 根据输入的日期计算周次和月份

    需求: 1.根据输入的日期拆分成按周或按月显示 2.规定周的开始日期从星期一开始,星期日结束 3.不足7天的一周,如果小于2天,则合并到上周或下周:大于2天的则自成一周 代码: CREATE OR R ...

  6. Hive 根据日期计算周数以及周几

    文章目录 周数 周几 周数 在 Hive 中我们可以通过内置函数 weekofyear(string date) 获取某日期的周数. 示例:select weekofyear("2022-0 ...

  7. mysql 日期计算_mysql两个日期计算天数怎么算?

    展开全部 mysql两个日期计算天数32313133353236313431303231363533e58685e5aeb931333365633864的计算有如下方式: 1.利用TO_DAYS函数 ...

  8. java 公历 农历_Java给定公历日期计算相应农历/阴历日期

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  9. 日期计算php,php时间日期计算

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 简单的时间计算 //时间计算 开始,结束,类型 function shijianjisua ...

  10. java怎么根据新历算农历_Java给定公历日期计算相应农历/阴历日期

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

最新文章

  1. U3D 代码自动化生成定制预置体的旋转问题
  2. dismiss的词组_法律英语常用词必记:Dismiss
  3. 用PDB库调试Python程序
  4. scss-!optional
  5. 贷中风控调额方法与策略详解
  6. TypeError: Object of type ‘int64‘ is not JSON serializable
  7. Windows 程序设计应用开发(上部)
  8. sqlmap 使用教程
  9. phpQuery采集乱码问题解决方案
  10. Linux下发包工具sendip的使用
  11. codesys工程ST语言学习笔记(六)ST语言读写CVS文件excel格式(文件读写)
  12. java char表_char码值对应列表大全
  13. 会声会影2022版新版新增蓝光功能
  14. Java-toArray()方法
  15. Vue.js前端开发实战总结(1)
  16. java.nio.channels.UnresolvedAddressException
  17. 硬盘安装arch linux,ArchLinux硬盘安装
  18. 程序员必备的17个软件开发工具,你常用的有几个?
  19. JQuery Marquee插件(无缝滚动效果)- marquee.js
  20. 马化腾谈360状告腾讯:即便是垄断也是暂时的

热门文章

  1. 1人工智能概述------人工智能发展历程(人工智能的起源、人工智能的发展经历了六个阶段)
  2. 用matlab绘制对数图像,matlab图像绘制(进阶篇)
  3. 张正友标定法过程推导笔记
  4. latex表格排版指南
  5. 参数问题:nested exception is java.lang.NumberFormatException: For input string: “null“,已解决。
  6. Windows 7无法启用网络发现的处理办法
  7. 360浏览器如何设置默认极速模式
  8. 使用bat脚本自动打开cmd并执行命令
  9. 如何在linux下安装一个音乐播放器
  10. elementui表格序号自动加上