到当前日期的每周一和周日、每月第一天和最后一天日期的获取
来源:互联网 发布:域名被墙跳转 编辑:程序博客网 时间:2024/05/20 03:45
由于项目的运营报表有新需求,而且之间一直用node.js来做,在操作数据库上不是很方便。所以现在我转成了用python来做运行报表,跟node.js比起来,感觉python不止方便了一点。下面两个方法,其功能如下:
1.通过某一周的周一和周日的日期,获取这一周到目前每周周一和周末的日期,以字符串的格式存在一个二维列表中
2.通过某一月的第一天和最后一天的日期,获取这一月到目前每月第一天和最后一天的日期,以字符串的格式存在一个二维列表中
import datetimeimport calendarweekDateList = [['2017-05-01', '2017-05-07']] # 存储从2017-05-01起到目前每周一和周末的日期MonthDateList = [['2017-05-01', '2017-05-31']] # 存储从2017-05-01起到上月每月第一天一和最后一天周末的日期nowdate = datetime.datetime.now()def getDate(dateStr): # 返回datetime格式的日期 year = int(dateStr[0:4]) month = int(dateStr[5:7]) day = int(dateStr[8:10]) return datetime.datetime(year, month, day)def getWeekDateList(List): firstdate = getDate(List[-1][0]) lastdate = getDate(List[-1][1]) date2 = lastdate + datetime.timedelta(days=7) # 周末 while date2 > nowdate: break else: date1 = firstdate + datetime.timedelta(days=7) # 周一 List.append([date1.strftime('%Y-%m-%d'), date2.strftime('%Y-%m-%d')]) getWeekDateList(List)def getMonthDateList(List): lastdate = getDate(List[-1][1]) days = calendar.monthrange(lastdate.year, lastdate.month+1)[1] # 获取下个月的天数 date2 = lastdate + datetime.timedelta(days=days) # 月末 while date2 > nowdate: break else: date1 = lastdate + datetime.timedelta(days=1) # 月初 List.append([date1.strftime('%Y-%m-%d'), date2.strftime('%Y-%m-%d')]) getMonthDateList(List)getWeekDateList(weekDateList)for i in weekDateList: print(i)print("----------------------------------------")getMonthDateList(MonthDateList)for i in MonthDateList: print(i)
运行结果如下:
每周日期:
每月日期:
另:当前的日期是2017/12/14
阅读全文
0 0
- 到当前日期的每周一和周日、每月第一天和最后一天日期的获取
- 获取指定日期的第一天和最后一天
- 获取上月第一天和上月最后一天的日期
- C#获取上个月第一天和最后一天日期的方法
- Linux 根据当前日期获取上个月的第一天和最后一天
- linux 根据当前日期获取上个季度的第一天和最后一天
- 第一天和最后一天的日期
- OBIEE获取每月的第一天和最后一天
- 每月的第一天和最后一天oracle
- 获取上个月第一天和最后一天日期
- 获取当前月的第一天和最后一天;获取当前周的第一天和最后一天
- Java中日历类取每周每月每季度的第一天和最后一天
- 如何获得Oracle当前日期的年或月的第一天和最后一天
- 如何获得Oracle当前日期的年或月的第一天和最后一天
- 第一篇博客:获取当前日期所在季度的第一个月的第一天和最后一个月的最后一天
- 【Php】上个月第一天和最后一天的日期
- java-日期操作-获得某月的第一天和最后一天
- java 获取当前日期前一天 当前月第一天和最后一天
- request中各个地址的区别
- apache rewrite
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- 【Java】9.CountDownLatch使用与分析
- Android创建隐藏文件或者文件夹,并对其读写操作
- 到当前日期的每周一和周日、每月第一天和最后一天日期的获取
- springboot 将yml文件内容注入javaBean
- IntelliJ IDEA使用教程 (总目录篇)
- CocoaPods 封装SDK
- docker基础环境学习
- tf-idf(term frequency–inverse document frequency)含义
- iscsi
- PXE一键安装Coreos
- 数组、链表、堆栈和队列