欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java根據(jù)開始時(shí)間結(jié)束時(shí)間計(jì)算中間間隔日期的實(shí)例代碼

 更新時(shí)間:2019年05月28日 16:53:15   作者:MiChen先生  
這篇文章主要介紹了java根據(jù)開始時(shí)間結(jié)束時(shí)間計(jì)算中間間隔日期的實(shí)例代碼,需要的朋友可以參考下

具體代碼如下所述:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class Test {
 public static List<String> findDates(String stime, String etime)
   throws ParseException {
  List<String> allDate = new ArrayList();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  Date dBegin = sdf.parse(stime);
  Date dEnd = sdf.parse(etime);
  allDate.add(sdf.format(dBegin));
  Calendar calBegin = Calendar.getInstance();
  // 使用給定的 Date 設(shè)置此 Calendar 的時(shí)間
  calBegin.setTime(dBegin);
  Calendar calEnd = Calendar.getInstance();
  // 使用給定的 Date 設(shè)置此 Calendar 的時(shí)間
  calEnd.setTime(dEnd);
  // 測(cè)試此日期是否在指定日期之后
  while (dEnd.after(calBegin.getTime())) {
   // 根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時(shí)間量
   calBegin.add(Calendar.DAY_OF_MONTH, 1);
   allDate.add(sdf.format(calBegin.getTime()));
  }
  return allDate;
 }
 public static void main(String[] args) {
  //測(cè)試數(shù)據(jù)
  String stime = "2019-05-01";
  String etime = "2019-05-05";
  //集合中包含2019-05-01/2019-05-05,不需要可去除
  List<String> list = new ArrayList<>();
  try {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   long s = Long.valueOf(sdf.parse(stime).getTime());
   long e = Long.valueOf(sdf.parse(etime).getTime());
   //只有結(jié)束時(shí)間大于開始時(shí)間時(shí)才進(jìn)行查詢
   if(s<e) {
    list = findDates(stime, etime);
   }
  } catch (ParseException e) {
   e.printStackTrace();
  }
  for(String time : list) {
   System.out.println(time);
  }
  System.out.println("間隔天數(shù):" + list.size());
 }
}

ps:下面看下java根據(jù)開始時(shí)間和結(jié)束時(shí)間,計(jì)算中間天數(shù),并打印

import java.text.SimpleDateFormat;
import java.util.Date;
public class Calcdate {
 static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 static SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd");
 public static void main(String[] args)throws Exception{
  Date beginTime = sdf.parse("2015-04-23 12:32:44");
//  Date endTime = sdf.parse("2015-04-23 14:56:44");
  Date endTime = sdf.parse("2015-04-29 14:56:44");
  long diff = (endTime.getTime() - beginTime.getTime()) / (86400 * 1000);
  System.out.println("diff = " + diff);
  Date sb = null;
  Date se = null;
  if(diff == 0){
   sb = beginTime;
   se = endTime;
   String ss = String.format("%d> Sb=%s, Se=%s", 1, Coder.DateTimeToStr(sb), Coder.DateTimeToStr(se));
   System.out.println(ss);
  }else {
   int i = 0;
   while (i <= diff) {
    if (i == 0) {
     sb = beginTime;
     se = sdf.parse(ymd.format(sb) + " 23:59:59");
    } else if (i == diff) {
     sb = sdf.parse(ymd.format(endTime) + " 00:00:00");
     se = endTime;
    } else {
     se = new Date(beginTime.getTime() + i * 24 * 60 * 60 * 1000);
     sb = sdf.parse(ymd.format(se) + " 00:00:00");
     se = sdf.parse(ymd.format(se) + " 23:59:59");
    }
    String ss = String.format("%d> Sb=%s, Se=%s", i, Coder.DateTimeToStr(sb), Coder.DateTimeToStr(se));
    System.out.println(ss);
    i++;
   }
  }
 }
}
diff = 6
0> Sb=2015-04-23 12:32:44, Se=2015-04-23 23:59:59
1> Sb=2015-04-24 00:00:00, Se=2015-04-24 23:59:59
2> Sb=2015-04-25 00:00:00, Se=2015-04-25 23:59:59
3> Sb=2015-04-26 00:00:00, Se=2015-04-26 23:59:59
4> Sb=2015-04-27 00:00:00, Se=2015-04-27 23:59:59
5> Sb=2015-04-28 00:00:00, Se=2015-04-28 23:59:59
6> Sb=2015-04-29 00:00:00, Se=2015-04-29 14:56:44

總結(jié)

以上所述是小編給大家介紹的java根據(jù)開始時(shí)間結(jié)束時(shí)間計(jì)算中間間隔日期的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式

    Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式

    這篇文章主要介紹了Springboot內(nèi)置Tomcat配置參數(shù)調(diào)優(yōu)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java中Properties配置類用法詳解

    Java中Properties配置類用法詳解

    所謂的配置文件問題,是指我們?cè)陂_發(fā)時(shí),經(jīng)常需要讀取和修改一些配置信息,比如數(shù)據(jù)庫、消息隊(duì)列、Nginx、Web服務(wù)器等的配置,為了便于修改這些信息,我們可以采用Properties配置類,本文給大家講一下Properties配置類是怎么回事,以及怎么使用
    2023-06-06
  • 從try-with-resources到ThreadLocal,優(yōu)化你的代碼編寫方式

    從try-with-resources到ThreadLocal,優(yōu)化你的代碼編寫方式

    這篇文章主要為大家介紹了從try-with-resources到ThreadLocal,優(yōu)化代碼的編寫方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • SpringMVC存取Session的兩種方法

    SpringMVC存取Session的兩種方法

    Spring MVC是個(gè)非常優(yōu)秀的框架,本篇文章主要介紹了SpringMVC存取Session的兩種方法,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • 基于javascript實(shí)現(xiàn)獲取最短路徑算法代碼實(shí)例

    基于javascript實(shí)現(xiàn)獲取最短路徑算法代碼實(shí)例

    這篇文章主要介紹了基于javascript實(shí)現(xiàn)獲取最短路徑算法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Hadoop2.8.1完全分布式環(huán)境搭建過程

    Hadoop2.8.1完全分布式環(huán)境搭建過程

    本文搭建了一個(gè)由三節(jié)點(diǎn)(master、slave1、slave2)構(gòu)成的Hadoop完全分布式集群(區(qū)別單節(jié)點(diǎn)偽分布式集群),并通過Hadoop分布式計(jì)算的一個(gè)示例測(cè)試集群的正確性。對(duì)hadoop分布式環(huán)境搭建過程感興趣的朋友跟隨小編一起看看吧
    2019-06-06
  • 新版POI獲取日期類型cell值過程圖解

    新版POI獲取日期類型cell值過程圖解

    這篇文章主要介紹了新版POI獲取日期類型cell值過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • springsecurity輕松實(shí)現(xiàn)角色權(quán)限的示例代碼

    springsecurity輕松實(shí)現(xiàn)角色權(quán)限的示例代碼

    這篇文章主要介紹了springsecurity輕松實(shí)現(xiàn)角色權(quán)限的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Spring基于AspectJ的AOP開發(fā)案例解析

    Spring基于AspectJ的AOP開發(fā)案例解析

    這篇文章主要介紹了Spring的基于AspectJ的AOP開發(fā),AspectJ是一個(gè)基于Java語言的AOP框架,使用AspectJ需要導(dǎo)入Spring?AOP和AspectJ相關(guān)jar包,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 淺析java中常用的定時(shí)任務(wù)框架-單體

    淺析java中常用的定時(shí)任務(wù)框架-單體

    這篇文章主要帶大家了解常用的單體應(yīng)用定時(shí)任務(wù)框架以及掌握定時(shí)任務(wù)在單體中如何使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12

最新評(píng)論