Python-根据日期计算周对应的日期
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-根据日期计算周对应的日期相关推荐
- 【新】Python获取前N周时间开始日期和截止日期
Python获取前N周时间开始日期和截止日期 直接上代码 结果 直接上代码 import datetimetoday = datetime.datetime.today().date() print ...
- 【虚幻引擎】根据日期计算周几
今天有个小需求,就是根据日期计算周几. 百度搜了一下有现成的公式,蔡勒公式和基姆拉尔森公式.在蓝图中也可以直接写数学表达式.表达式没有推导过程.正好在虚幻中发现这两个节点"年中的天数&quo ...
- java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...
本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...
- mysql日期返回周一_MYSQL如何获得指定日期所在周周一的日期?
你的位置: 问答吧 -> PHP基础 -> 问题详情 MYSQL如何获得指定日期所在周周一的日期? 如何获得指定日期所在周周一的日期?比如如何获得本周周一的日期? 作者: 十月冷风 发布时 ...
- 根据输入的日期计算周次和月份
需求: 1.根据输入的日期拆分成按周或按月显示 2.规定周的开始日期从星期一开始,星期日结束 3.不足7天的一周,如果小于2天,则合并到上周或下周:大于2天的则自成一周 代码: CREATE OR R ...
- Hive 根据日期计算周数以及周几
文章目录 周数 周几 周数 在 Hive 中我们可以通过内置函数 weekofyear(string date) 获取某日期的周数. 示例:select weekofyear("2022-0 ...
- mysql 日期计算_mysql两个日期计算天数怎么算?
展开全部 mysql两个日期计算天数32313133353236313431303231363533e58685e5aeb931333365633864的计算有如下方式: 1.利用TO_DAYS函数 ...
- java 公历 农历_Java给定公历日期计算相应农历/阴历日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- 日期计算php,php时间日期计算
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 简单的时间计算 //时间计算 开始,结束,类型 function shijianjisua ...
- java怎么根据新历算农历_Java给定公历日期计算相应农历/阴历日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
最新文章
- U3D 代码自动化生成定制预置体的旋转问题
- dismiss的词组_法律英语常用词必记:Dismiss
- 用PDB库调试Python程序
- scss-!optional
- 贷中风控调额方法与策略详解
- TypeError: Object of type ‘int64‘ is not JSON serializable
- Windows 程序设计应用开发(上部)
- sqlmap 使用教程
- phpQuery采集乱码问题解决方案
- Linux下发包工具sendip的使用
- codesys工程ST语言学习笔记(六)ST语言读写CVS文件excel格式(文件读写)
- java char表_char码值对应列表大全
- 会声会影2022版新版新增蓝光功能
- Java-toArray()方法
- Vue.js前端开发实战总结(1)
- java.nio.channels.UnresolvedAddressException
- 硬盘安装arch linux,ArchLinux硬盘安装
- 程序员必备的17个软件开发工具,你常用的有几个?
- JQuery Marquee插件(无缝滚动效果)- marquee.js
- 马化腾谈360状告腾讯:即便是垄断也是暂时的
热门文章
- 1人工智能概述------人工智能发展历程(人工智能的起源、人工智能的发展经历了六个阶段)
- 用matlab绘制对数图像,matlab图像绘制(进阶篇)
- 张正友标定法过程推导笔记
- latex表格排版指南
- 参数问题:nested exception is java.lang.NumberFormatException: For input string: “null“,已解决。
- Windows 7无法启用网络发现的处理办法
- 360浏览器如何设置默认极速模式
- 使用bat脚本自动打开cmd并执行命令
- 如何在linux下安装一个音乐播放器
- elementui表格序号自动加上