/*** 根据传入的参数,来对日期区间进行拆分,返回拆分后的日期List* @param statisticsType* @param map* @return* @throws ParseException* @author lihq 2019-6-24* @editor * @editcont*/public List<String> doDateByStatisticsType(String statisticsType,Map<String, Object> map) throws ParseException{List<String> listWeekOrMonth = new ArrayList<String>();DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");String startDate = (String)map.get("startDate");String endDate = (String)map.get("endDate");Date sDate = dateFormat.parse(startDate);Calendar sCalendar = Calendar.getInstance();sCalendar.setFirstDayOfWeek(Calendar.MONDAY);sCalendar.setTime(sDate);Date eDate = dateFormat.parse(endDate);Calendar eCalendar = Calendar.getInstance();eCalendar.setFirstDayOfWeek(Calendar.MONDAY);eCalendar.setTime(eDate);boolean bool =true;if(statisticsType.equals("week")){while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){if(bool||sCalendar.get(Calendar.DAY_OF_WEEK)==2||sCalendar.get(Calendar.DAY_OF_WEEK)==1){listWeekOrMonth.add(dateFormat.format(sCalendar.getTime()));bool = false;}sCalendar.add(Calendar.DAY_OF_MONTH, 1);}listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));if(listWeekOrMonth.size()%2!=0){listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));}}else{while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){if(bool||sCalendar.get(Calendar.DAY_OF_MONTH)==1||sCalendar.get(Calendar.DAY_OF_MONTH)==sCalendar.getActualMaximum(Calendar.DAY_OF_MONTH)){listWeekOrMonth.add(dateFormat.format(sCalendar.getTime()));bool = false;}sCalendar.add(Calendar.DAY_OF_MONTH, 1);}listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));if(listWeekOrMonth.size()%2!=0){listWeekOrMonth.add(dateFormat.format(eCalendar.getTime()));}}return listWeekOrMonth;}

Java将日期拆分成按周或月时间段统计相关推荐

  1. JAVA将一段时间 按周、月、季度、半年、年进行分割

    JAVA将一段时间 按周.月.季度.半年.年进行分割. 有时候开发常常会传入一个开始时间和结束时间,将两个时间进行分割,返回一个时间的集合以下是我们小组成员所书写的实体类 package com.ai ...

  2. 【原创】实现日、周、月排行统计

    在如今很多系统中,都需要进行日.周.月排行统计,但是在网上寻找了一番,发现很多都是相对的周.月排行,即周排行则用当前时间减去7天.这样我个人认为并不恰当.如月排行中,假设今天是4月22日,则从3月22 ...

  3. 实现日、周、月排行统计 sql

    在如今很多系统中,都需要进行日.周.月排行统计,但是在网上寻找 了一番,发现很多都是相对的周.月排行,即周排行则用当前时间减去7天.这样我个人认为并不恰当.如月排行中,假设今天是4月22日,则从3月2 ...

  4. mysql 按日期拆分成多条记录_mysql性能优化2 设计规范 设计原则 结构优化 拆分 配置优化...

    一.MYSQL数据库设计规范 1.数据库命名规范 a.采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; b.命名简洁明确(长度不能超过30个字符); c.例如:us ...

  5. Java 将字符串拆分成数组,实现字符串组合

    将字符串拆分成数组和实现字符串组合 不能使用语言的基本分割组合函数(如 Java 的 String.split, php 的 explode 和 implode) 1) 字符串拆分成字符串数组,如&q ...

  6. 获取指定日期之间的各个周和月

    2019独角兽企业重金招聘Python工程师标准>>> 日志格式化类 Date.class.php <?php class Datefmt{function __constru ...

  7. Java 将日期转换成yyyyy-MM-ddTHH:mm:ss

    在数据库中查询数据有日期格式的字段时,可能显示的结果与需求有出入,@JsonFormat完美解决了这一问题,@JsonFormat是出参时使用,@DataTimeFormat注解是入参时对日期进行转换 ...

  8. java输入日期判断这天是周几

    int weekday(int year, int month, int day){Calendar cal = Calendar.getInstance();//月份要减一,在西方周日是一周的第1天 ...

  9. java把一段英文拆成单词_如何在java中将句子拆分成单词和标点符号

    与其试图提出一个模式来进行拆分,不如通过提出一个要捕获的元素的模式来解决这个难题. 尽管它不仅仅是一个简单的 split() ,它仍然可以在Java 9+中的单个语句中完成: String regex ...

最新文章

  1. Spring AOP与IOC以及自定义注解
  2. VS2010安装项目的系统必备中添加.NET 2.0
  3. Atom:A hackable text editor for the 21st Century
  4. 【转】ubuntu 11.10(32位系统)下编译android源码
  5. 常见java面试题 普通类和抽象类的区别?
  6. java.sql.SQLException: Io 异常: Got minus one from a read call
  7. ValueError: No engine for filetype: 'csv'解决与书本7-2代码改写
  8. 冯诺依曼计算机结构教案,冯诺依曼结构的计算机-同济大学精品课程.PPT
  9. 再见 Nacos,我要玩 Service Mesh 了!
  10. 你绝对猜不到 Java 14 有什么新特性?
  11. 华为方会提供一份CRS(客户需求)和SOW(工作任务书)
  12. 【FreeSwitch开发实践】使用SIP客户端Yate连接FreeSwitch进行VoIP通话
  13. Windows2008虚拟机扩容C盘
  14. 12306验证码的一些思考
  15. 微信小程序地图如何显示附近厕所WC步行路线
  16. 网站 xjjdog.cn,敬请惠存
  17. 高中数学基础08:关系、概率与统计
  18. CMD命令下修改和查看IP地址,DNS,网关
  19. Ubuntu Snap商店代理设置方法
  20. DNS域名解析流程图(详细)

热门文章

  1. # 异运算_一年级数学:3000道20内纯进、退位口算题,每天100道日新又月异
  2. php 父类命名空间,对命名空间的理解、类的继承与实现——2019年7月31号22时03分...
  3. 面试准备每日五题:C++(五)——野指针、句柄指针、newdeletemallocfree、extern、类成员权限
  4. Leetcode每日一题:112.path-sum(路经总和)
  5. 提取tsv数据并转化成json——致找不出怎么提取tsv文件中数据的五小时
  6. python3爬取数据存入mysql_pyspider 数据存入Mysql--Python3
  7. 计算机日志研究方法,基于日志的计算机取证技术研究与实现
  8. linux 版本号 加号,如何去除Linux Kernel版本号后面的加号?
  9. 金山云服务器内网带宽,性能提升40%!第三代金山云服务器全面覆盖不同企业计算力需求...
  10. java 前端导出exvel_java导出数据到Excel文件 前端进行下载