java分割日期时间段代码

所属分类: 软件编程 / java 阅读数: 44
收藏 0 赞 0 分享

本文实例为大家分享了java切割日期时间段代码,供大家参考,具体内容如下

/**
 * @author dy
 * @since 2016-09-18 & JDK 1.8.0_91
 */
public class DateCalculate {
  static Logger logger = LoggerFactory.getLogger(DateCalculate.class);

  /**
   * 切割时间段
   *
   * @param dateType 交易类型 M/D/H/N -->每月/每天/每小时/每分钟
   * @param start yyyy-MM-dd HH:mm:ss
   * @param end  yyyy-MM-dd HH:mm:ss
   * @return
   */
  public static List<String> cutDate(String dateType, String start, String end) {
    try {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date dBegin = sdf.parse(start);
      Date dEnd = sdf.parse(end);
      return findDates(dateType, dBegin, dEnd);
    } catch (Exception e) {
      logger.error(e.getMessage(), e);
    }
    return null;
  }

  public static List<String> findDates(String dateType, Date dBegin, Date dEnd) throws Exception {
    List<String> listDate = new ArrayList<>();
    Calendar calBegin = Calendar.getInstance();
    calBegin.setTime(dBegin);
    Calendar calEnd = Calendar.getInstance();
    calEnd.setTime(dEnd);
    while (calEnd.after(calBegin)) {
      switch (dateType) {
        case "M":
          calBegin.add(Calendar.MONTH, 1);
          break;
        case "D":
          calBegin.add(Calendar.DAY_OF_YEAR, 1);break;
        case "H":
          calBegin.add(Calendar.HOUR, 1);break;
        case "N":
          calBegin.add(Calendar.SECOND, 1);break;
      }
      if (calEnd.after(calBegin))
        listDate.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calBegin.getTime()));
      else
        listDate.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calEnd.getTime()));
    }
    return listDate;
  }


  public static void main(String[] args) {
    String start = "2016-02-01 00:00:00";
    String end = "2016-03-02 00:00:00";
    List<String> list = cutDate("D", start, end);
    for (String str :list){
      System.out.println(str);
    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

JavaWeb项目部署到服务器详细步骤详解

这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA基于支付宝小程序搭建springboot项目的详细步骤

这篇文章主要介绍了IDEA基于支付宝小程序搭建springboot项目的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解SpringBoot应用服务启动与安全终止

这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Boot启动及退出加载项的方法

这篇文章主要介绍了Spring Boot启动及退出加载项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Data Jpa 自动生成表结构的方法示例

这篇文章主要介绍了Spring Data Jpa 自动生成表结构的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA中osgi的开发应用指南详解

这篇文章主要介绍了IDEA中osgi的开发应用指南详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解用maven将dubbo工程打成jar包运行

这篇文章主要介绍了详解用maven将dubbo工程打成jar包运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解Java合并数组的两种实现方式

这篇文章主要介绍了Java合并数组的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

使用Jenkins Pipeline自动化构建发布Java项目的方法

这篇文章主要介绍了使用Jenkins Pipeline自动化构建发布Java项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Maven配置Spring的方法步骤

这篇文章主要介绍了使用Maven配置Spring的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多