eg:

20180901  -- 20180930

->>>>

20180901-20180915  && 20180916-20180930

/*** 获取两日期相差天数** @param beginDateStr 时间起点* @param endDateStr 时间终点* @param TimeType 时间类型 yyyy-MM-dd || yyyyMMdd || ....* @return long /天数*/public static long getDaySub(String beginDateStr, String endDateStr, String TimeType) {long day = 0;SimpleDateFormat format;try {format = new SimpleDateFormat(TimeType);} catch (Exception e) {System.out.println("getDaySub——>TimeType:"+TimeType);format = new SimpleDateFormat("yyyy-MM-dd");}Date beginDate;Date endDate;try {beginDate = format.parse(beginDateStr);endDate = format.parse(endDateStr);day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);} catch (Exception e) {System.out.println("获取两时间差值出现异常 begin:" + beginDateStr + "  end:" + endDateStr);}if (day < 0) {day = day * -1;}return day;}/*** 将一段时间分割为两个连续的时间段** @param dp 时间集合 <开始时间,结束时间>* @param TimeType 时间类型  yyyy-MM-dd || yyyyMMdd || ....* @return 1.两个相连的时间集合 2.null*/public static List<Pair<String, String>> cutDatePair(Pair<String, String> dp, String TimeType) {List<Pair<String, String>> lst = new ArrayList<>();long ts = getDaySub(dp.left(), dp.right(), TimeType);if (ts < 2) {return null;}int day = (int) ts / 2;SimpleDateFormat format;try {format = new SimpleDateFormat(TimeType);} catch (Exception e) {format = new SimpleDateFormat("yyyy-MM-dd");}Date beginDate;try {beginDate = format.parse(dp.left());Calendar beginDataEnd = Calendar.getInstance();beginDataEnd.setTime(beginDate);beginDataEnd.add(Calendar.DAY_OF_YEAR, day);//"开始"的结束时间
Calendar endDataBegin = Calendar.getInstance();endDataBegin.setTime(beginDate);endDataBegin.add(Calendar.DAY_OF_YEAR, day + 1);//"结束"的开始时间
lst.add(new Pair<>(dp.left(), format.format(beginDataEnd.getTime())));lst.add(new Pair<>(format.format(endDataBegin.getTime()), dp.right()));System.out.println("拆分时间 " + dp.left() + "-" + dp.right() + "  -->>  " + dp.left() + "-" + format.format(beginDataEnd.getTime()) +"   and " + format.format(endDataBegin.getTime()) + "-" + dp.right());} catch (Exception e) {}if(lst.isEmpty() || lst.size()!=2){return null;}return lst;}

转载于:https://www.cnblogs.com/yishilin/p/9728937.html

java 将一段时间分割为两个连续的时间相关推荐

  1. php对视频分割,一款简单实用的视频分割软件,快速将一段视频分割成两段

    如何快速将一段视频分割成两部分?对于这个问题,小编今天为你介绍一款快速音视频分割利器,支持分割.剪切或修剪,内置视频预览,可以轻易按时间或将喜欢的片断截取下来,直接流剪切,不必重新编码.所以分割前后的 ...

  2. Java将一段逗号分割的字符串转换成一个数组

    String 类: String 类代表字符串.Java 程序中的所有字符串字面值都作为此类的实例实现.字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象 ...

  3. Java将一段逗号分割的字符串转换成一个数组(亲测)

    String 类: String 类代表字符串.Java 程序中的所有字符串字面值都作为此类的实例实现.字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象 ...

  4. 一款简单实用的视频分割软件,快速将一段视频分割成两段

    视频太多.太长,怎么统一分割,比如按段分割呢?今天小编给大家分享一个新的剪辑技巧,下面一起来试试. 所需工具 视频素材若干 操作步骤 运行[好简单批量智剪],"分割视频"中导入视频 ...

  5. 时间分割算法,Java将一段时间按星期来分割

    首先谢谢这两个博客的分享 Java 将一段时间以周.月.季分割 Java将日期拆分成按周或月时间段统计 然后这两个算法执行后的结果都有一些小的问题,或者可以说并不是我想要的结果,我要做的需求就是调用钉 ...

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

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

  7. java如何将两首歌按时间合成,用goldwave怎样把两首歌合并在一起

    类型:音频处理大小:11.3M语言:中文 评分:4.6 标签: 立即下载 goldwave是一款非常好用功能强大的音频编辑软件,用户可以使用goldwave录制.编辑.转换音频,可以进行相应的音频处理 ...

  8. 音频如何分割成两段音频?这些实用方法值得收藏

    有些时候,我们从网上下载的音频素材可能会出现体积较大.播放时间长等情况,而我们却只需要其中的一小段.这个时候我们就需要借助一些音频分割软件来将重要的音频片段提取出来,从而有助于缩小音频文件的占比以及存 ...

  9. php 字符串分割成两段,php 两个字符串分割合并的简单示例

    搜索热词 把两个字符串进行分割合并,例如str1=aaaa,str2=bbbb,合并后生成abababab,PHP分割合并两个字符串的函数,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来 ...

最新文章

  1. 详细介绍 IOC 和 DI
  2. 一个请求方法是一个线程吗?不是!
  3. 6.非关系型数据库(Nosql)之mongodb:集群(主从复制)
  4. Java框架体系架构的知识,轻松拿下offer
  5. 年薪百万!这所高校一名本科生入选“天才少年”
  6. Java RandomAccessFile writeLong()方法与示例
  7. 编写.gitignore文件
  8. 二分类数据集_玩转UCI心脏病二分类数据集 领学课笔记
  9. HTML实用的网页代码大全
  10. 使用alter database create datafile恢复丢失数据文件
  11. Windows7系统蓝屏-解决办法, 错误代码:0x0000007F
  12. Hulu2022校招 | 笔试真题及解法揭秘
  13. GROMACS Tutorial 3-Umbrella Sampling
  14. 根据ip查询linux主机名,根据ip地址查询其他主机名(Linux)
  15. PMP证书,项目经理事业进步的阶梯
  16. 将qlv类型的视频转换mp4格式的最新做法
  17. Revit二次开发之族库管理系统
  18. Hadoop完全分布式搭建(在三台虚拟机中实现)
  19. 记录又一次实战GetShell
  20. 对于小白,创建一个网站你需要做什么?

热门文章

  1. 【NC54 三数之和】(待整理)
  2. 【POJ - 2255】Tree Recovery (给定树的先序中序,输出后序)
  3. 【2019浙江省赛 - B】Element Swapping(思维,数学)
  4. 【牛客 - 370E】Rinne Loves Gift(Bellman_Ford判负环,二分,分数规划)
  5. 【牛客 - 318E】爱摸鱼的Dillonh(数学,暴力,细节)
  6. 【HDU - 1102】Constructing Roads (最小生成树裸题模板)
  7. 【牛客 - 302哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(低年级)】 小乐乐算数字(水题,快速幂,lowbit)
  8. 三菱socket通信实例_三菱自动化产品相关知识整理汇总
  9. java 主备切换_keepalived 实现 Java 服务的高可用(主备切换)
  10. 打开软件就遍历桌面和D盘的软件名通过UDP广播的方式发出。服务器监听指定的端口可以获得文件夹名称。不会暴露自己的IP