1. package testThread;
  2.  
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.ArrayList;
  6. import java.util.Calendar;
  7. import java.util.Date;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. import java.util.Map.Entry;
  12.  
  13. public class testDealTime {
  14. public static void main(String[] args) throws ParseException {
  15. List<String> list = new ArrayList<String>();
  16. list.add("2016-11-25 00:00:00");
  17. list.add("2016-11-25 00:05:00");
  18. // list.add("2016-11-25 00:10:00");
  19. // list.add("2016-11-25 00:15:00");
  20. list.add("2016-11-25 00:20:00");
  21. list.add("2016-11-25 00:25:00");
  22. // list.add("2016-11-25 00:30:00");
  23. // list.add("2016-11-25 00:35:00");
  24. list.add("2016-11-25 00:40:00");
  25. list.add("2016-11-25 00:45:00");
  26. list.add("2016-11-25 00:50:00");
  27. list.add("2016-11-25 00:55:00");
  28. list.add("2016-11-25 01:00:00");
  29. list.add("2016-11-25 01:05:00");
  30.  
  31. Calendar cal = Calendar.getInstance();
  32.  
  33. Map<String, List<String>> map = new HashMap<String, List<String>>();
  34. List<String> tempList = new ArrayList<String>();
  35. List<String> tempList2 = null;
  36. SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  37.  
  38. for (int i = 0; i < list.size(); i++) {
  39. if (i == list.size() - 1) {
  40. tempList.add(list.get(i));
  41. map.put(String.valueOf(i), tempList);
  42. break;
  43. }
  44. String currTime = list.get(i);
  45. String nextTime = list.get(i+1);
  46. Date preDate = simple.parse(currTime);
  47. cal.setTime(preDate);
  48. cal.add(Calendar.MINUTE, 5);
  49. String preTime = String.valueOf(simple.format(cal.getTime()));
  50. if (nextTime.equals(preTime)) {
  51. tempList.add(currTime);
  52.  
  53. } else {
  54. tempList.add(currTime);
  55. tempList2 = new ArrayList<String>();
  56. tempList2.addAll(tempList);
  57. map.put(String.valueOf(i), tempList2);
  58. tempList.clear();
  59. }
  60. }
  61.  
  62. for (Entry<String, List<String>> entry : map.entrySet()) {
  63. List<String> lis = entry.getValue();
  64. for(String createtime : lis){
  65. System.out.print(createtime +" ,");
  66. }
  67. System.out.println();
  68. }
  69.  
  70. }
  71. }

java时间段分成小段存储的更多相关文章

  1. 记录这段时间java编程的小知识点

    记录这段时间java编程的小知识点 eclipse项目导入中文乱码 eclipse左侧目录结构变动 eclipse代码段左右移动 按tal键,是整体右移. 按shift  table 同时按,是整体左 ...

  2. 编写你的第一个 Java 版 Raft 分布式 KV 存储

    前言 本文旨在讲述如何使用 Java 语言实现基于 Raft 算法的,分布式的,KV 结构的存储项目.该项目的背景是为了深入理解 Raft 算法,从而深刻理解分布式环境下数据强一致性该如何实现:该项目 ...

  3. Hadoop小文件存储方案

    原文地址:https://www.cnblogs.com/ballwql/p/8944025.html HDFS总体架构 在介绍文件存储方案之前,我觉得有必要先介绍下关于HDFS存储架构方面的一些知识 ...

  4. 打造一款 刷Java 知识的小程序(二)

    学习Java的神器已上线,面向广大Java爱好者! 之前写的一篇:打造一款 刷Java 知识的小程序(一) 一.第二版做了什么? 第一版小程序只具有初级展示功能,知识点都是hardcode在代码里面的 ...

  5. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  6. 海量小文件存储与Ceph实践

    海量小文件存储(简称LOSF,lots of small files)出现后,就一直是业界的难题,众多博文(如[1])对此问题进行了阐述与分析,许多互联网公司也针对自己的具体场景研发了自己的存储方案( ...

  7. 假设一个大小为100亿个数据的数组,该数组是从小到大排好序的,现在该数组分成若干段,每个段的数据长度小于20「也就是说:题目并没有说每段数据的size 相同,只是说每个段的 size < 20 而已」

    假设一个大小为100亿个数据的数组,该数组是从小到大排好序的,现在该数组分成若干段,每个段的数据长度小于20「也就是说:题目并没有说每段数据的size 相同,只是说每个段的 size < 20 ...

  8. java基础知识小小结

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  9. Java Swing窗体小工具实例 - 原创

    Java Swing窗体小工具实例 1.本地webserice发布,代码如下: 1.1 JdkWebService.java package server; import java.net.InetA ...

随机推荐

  1. Apache+Tomcat实现负载均衡

    反向代理负载均衡 (Apache2+Tomcat7/8) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方 ...

  2. [Android] 转-LayoutInflater丢失View的LayoutParams

    原文地址:http://lmbj.net/blog/layoutinflater-and-layoutparams/ View view = inflater.inflate(R.layout.ite ...

  3. mysql 每秒钟查询次数、插入次数、删除次数、更新次数的统计

    -show global status where Variable_name in('com_select','com_insert','com_delete','com_update'); 查询出 ...

  4. 终端更新ubuntu系统

    1.sudo apt-get update 2. sudo apt-get dist-upgrade

  5. CEGUI环境配置

    由于最近项目需要CEGUI做界面,于是我去下载了CEGUI源码,但是却不知道怎么搭建.网上的教程都不是很详细,不能让我们这种新手理解,经过几天折腾,终于弄好了,特此记录下来. 1.下载官网CEGUI源 ...

  6. YbSoftwareFactory 代码生成插件【二十一】:Web Api及MVC性能提升的几个小技巧

    最近在进行 YbSoftwareFactory 的流程功能升级,目前已经基本完成,现将用到的一些关于 Web Api 及 MVC 性能提升的一些小技巧进行了总结,这些技巧在使用.配置上也相当的简单,但 ...

  7. Qt qml 模拟iphone slide to unlock 的聚光动画文字效果

    模拟iphone slide to unlock 的聚光动画文字效果    /底层放淡文字    /前景放高亮文字+半透明遮罩    /动画移动遮罩 Author: surfsky.cnblogs.c ...

  8. 如何:在 ASP.NET 网页中检测浏览器类型

    https://msdn.microsoft.com/zh-cn/library/3yekbd5b(VS.80).aspx private void Button1_Click(object send ...

  9. IE8 jquery解析xml的兼容问题

    正常情况下可以这么写: jQuery(node).find(xpath.replace("//", ""))[0]; 但是在IE8下得到的是undefined应 ...

  10. Topcoder SRM 683 Div2 B

    贪心的题,从左向右推过去即可 #include <vector> #include <list> #include <map> #include <set&g ...