相关疑难解决方法(0)

计算两个Java日期实例之间的差异

java.util.Date在Scala中使用Java的类,想要比较一个Date对象和当前时间.我知道我可以使用getTime()来计算delta:

(new java.util.Date()).getTime() - oldDate.getTime()
Run Code Online (Sandbox Code Playgroud)

但是,这只留下了一个long代表毫秒.是否有更简单,更好的方式来获得时间增量?

java time date timedelta java.util.date

416
推荐指数
19
解决办法
60万
查看次数

如何在java中找到两个日期之间的差异持续时间?

我有两个DateTime对象,需要找到它们的差异持续时间,

我有以下代码,但不知道如何继续它以获得预期的结果如下:

      11/03/14 09:30:58
      11/03/14 09:33:43
      elapsed time is 02 minutes and 45 seconds
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/15 09:30:58
      elapsed time is a day
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/16 09:30:58
      elapsed time is two days
      -----------------------------------------------------
      11/03/14 09:30:58 
      11/03/16 09:35:58
      elapsed time is two days and 05 mintues
Run Code Online (Sandbox Code Playgroud)

    String dateStart = "11/03/14 09:29:58";
    String dateStop = "11/03/14 09:33:43";

    Custom date format
    SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

    Date d1 = null;
    Date d2 = null; …
Run Code Online (Sandbox Code Playgroud)

java date-arithmetic

101
推荐指数
9
解决办法
33万
查看次数

用于查找年,月和日中2个日期对象之间差异的Java方法

我有一个开始日期和结束日期.两个日期之间的持续时间应为年,月和日.我是java的新手.当我运行以下方法时,我获得的是0年,12个月1天.请提供替代方案,以获得年,月和日的准确差异.

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class Duration {

    private String getAssignmentDuration(java.util.Date oldDate, java.util.Date newDate) {
        Calendar c1 = Calendar.getInstance();
        Calendar c2 = Calendar.getInstance();
        if (oldDate.compareTo(newDate) > 0) {
            c1.setTime(newDate);
            c2.setTime(oldDate);
        } else {
            System.out.println("invalid");
            return "Invalid selection";

        }
        int year = 0;
        int month = 0;
        int days = 0;
        boolean doneMonth = false;
        boolean doneYears = false;
        while (c1.before(c2)) {
            //log.debug("Still in Loop");
            if (!doneYears) {
                c1.add(Calendar.YEAR, 1);
                year++;
            }
            if (c1.after(c2) || doneYears) …
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×3

date ×1

date-arithmetic ×1

java.util.date ×1

time ×1

timedelta ×1