Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据两个日期的差异需要天数_Java_Apache Poi_Jxl - Fatal编程技术网

Java 根据两个日期的差异需要天数

Java 根据两个日期的差异需要天数,java,apache-poi,jxl,Java,Apache Poi,Jxl,情景: 我的结果=报告生成日期-访问日期 例如: 报告生成日期:20/07/2016 如果访问日期为2016年7月19日-结果为0,如果访问日期为2016年7月18日-结果为1,如果访问日期为2016年7月17日-结果为2,等等 public static void main(String []args) { System.out.println(System.currentTimeMillis()); System.out.println(new Date()); M

情景:

我的结果=报告生成日期-访问日期

例如:

报告生成日期:20/07/2016


如果访问日期为2016年7月19日-结果为0,如果访问日期为2016年7月18日-结果为1,如果访问日期为2016年7月17日-结果为2,等等

 public static void main(String []args) {
    System.out.println(System.currentTimeMillis());
    System.out.println(new Date());
    Map<TimeUnit,Long> result = computeDiff(
            new Date("7/20/2016"),
        new Date("8/20/2016")
    );
    System.out.println(result);
 }

public static Map<TimeUnit,Long> computeDiff(Date date1, Date date2) {

    long diffInMillies = date2.getTime() - date1.getTime();
    List<TimeUnit> units = new ArrayList<TimeUnit>(EnumSet.allOf(TimeUnit.class));
    Collections.reverse(units);

    Map<TimeUnit,Long> result = new LinkedHashMap<TimeUnit,Long>();
    long milliesRest = diffInMillies;
    for ( TimeUnit unit : units ) {
        long diff = unit.convert(milliesRest,TimeUnit.MILLISECONDS);
        long diffInMilliesForUnit = unit.toMillis(diff);
        milliesRest = milliesRest - diffInMilliesForUnit;
        result.put(unit,diff);
    }
    return result;
}
publicstaticvoidmain(字符串[]args){
System.out.println(System.currentTimeMillis());
System.out.println(新日期());
映射结果=computeDiff(
新日期(“2016年7月20日”),
新日期(“2016年8月20日”)
);
系统输出打印项次(结果);
}
公共静态地图computeDiff(日期日期1,日期日期2){
long diffinmilies=date2.getTime()-date1.getTime();
List units=newarraylist(EnumSet.allOf(TimeUnit.class));
收藏。反向(单位);
映射结果=新建LinkedHashMap();
长毫秒测试=差值毫秒;
用于(时间单位:单位){
long diff=单位转换(毫秒测试,时间单位毫秒);
长差分毫秒FORUNIT=单位为托米利(差分);
milliesRest=milliesRest-单位的差值毫秒;
结果。放置(单位,差异);
}
返回结果;
}

}

是什么阻止了你?请不要在这里复制粘贴你的作业。至少,向我们展示您尝试过的内容,以及(没有)工作的内容。谢谢您的代码。。。。。输出看起来像。。。。。{天=1,小时=0,分钟=0,秒=0,毫秒=0,微秒=0,纳秒=0}。但我只想要天的价值。。。就像1。。因此,请建议我/给出代码。在for循环中添加break station。这样它将只返回天值。像{days=7}一样给出put。。。但我只想要。。。7.如何获取它?公共类Main{public static void Main(String[]args){long diffinmilies=new Date(“7/20/2016”).getTime()-new Date(“7/19/2016”).getTime();List units=new arrarylist(EnumSet.allOf(TimeUnit.class));Collections.reverse(units);long millisest=diffinmilies;long diff=units.get(0).convert(millisest,TimeUnit.毫秒);System.out.println(diff);}