java根据开始时间和结束时间,计算中间天数,并打印

java根据开始时间和结束时间,计算中间天数,并打印

1import java.text.SimpleDateFormat; 2import java.util.Date; 3 4 5public class Calcdate { 6    static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 7    static SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd"); 8 9    public static void main(String[] args)throws Exception{ 10        Date beginTime = sdf.parse("2015-04-23 12:32:44"); 11//        Date endTime = sdf.parse("2015-04-23 14:56:44"); 12        Date endTime = sdf.parse("2015-04-29 14:56:44"); 13 14        long diff = (endTime.getTime() - beginTime.getTime()) / (86400 * 1000); 15        System.out.println("diff = " + diff); 16 17        Date sb = null; 18        Date se = null; 19        if(diff == 0){ 20            sb = beginTime; 21            se = endTime; 22 23            String ss = String.format("%d> Sb=%s, Se=%s", 1, Coder.DateTimeToStr(sb), Coder.DateTimeToStr(se)); 24            System.out.println(ss); 25        }else { 26            int i = 0; 27            while (<= diff) { 28                if (== 0) { 29                    sb = beginTime; 30                    se = sdf.parse(ymd.format(sb) + " 23:59:59"); 31                } else if (== diff) { 32                    sb = sdf.parse(ymd.format(endTime) + " 00:00:00"); 33                    se = endTime; 34                } else { 35                    se = new Date(beginTime.getTime() + i * 24 * 60 * 60 * 1000); 36                    sb = sdf.parse(ymd.format(se) + " 00:00:00"); 37                    se = sdf.parse(ymd.format(se) + " 23:59:59"); 38                } 39 40                String ss = String.format("%d> Sb=%s, Se=%s", i, Coder.DateTimeToStr(sb), Coder.DateTimeToStr(se)); 41                System.out.println(ss); 42 43                i++; 44            } 45        } 46    } 47} 48 49diff = 6 500> Sb=2015-04-23 12:32:44, Se=2015-04-23 23:59:59 511> Sb=2015-04-24 00:00:00, Se=2015-04-24 23:59:59 522> Sb=2015-04-25 00:00:00, Se=2015-04-25 23:59:59 533> Sb=2015-04-26 00:00:00, Se=2015-04-26 23:59:59 544> Sb=2015-04-27 00:00:00, Se=2015-04-27 23:59:59 555> Sb=2015-04-28 00:00:00, Se=2015-04-28 23:59:59 566> Sb=2015-04-29 00:00:00, Se=2015-04-29 14:56:44
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java里Date 10位时间戳(Timestamp) String 相互转换

有很多注释,就不做过多解释了import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Dat

Java日期时间API系列31

  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前

java几秒前,几分钟前,几小时前,几天前,几月前,几年前的实现

package com.date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class RelativeDateFormat {

java设置时间偏移天数,

1,packagecom.banksteel.openerp.common.vo;importjava.io.Serializable;publicclassTimeIntervalVOimplementsSerializable{/

PHP获取某年某月开始和结束的时间戳

/月份开始结束时间戳$y年$m月/functionmFristAndLast($y"",$m"")if($y"")$ydate("Y");if($m"")$mdate("m");$msprintf("%02d",intval($m));$ystrpad(intva