标签: date-difference

如何计算java中两个日期之间的年龄或差异

我想得到2个日期之间的月数.日期是某人生日和当前日期.所以我得到两个日期之间的年数而不是月数.

假设我的日期是06/09/201106/11/2012.所以我希望答案是1年2个月.我得到的一年而不是月份.请帮助.下面是获取年数的代码

 public int getAge(Date dateOfBirth)      {                                                                                                                                                                         

    today = Calendar.getInstance(); 
    Calendar birthDate = Calendar.getInstance();

    birthDate.setTime(dateOfBirth);
    if (birthDate.after(today)) {
        throw new IllegalArgumentException("Can't be born in the future");
    }

    age = today.get(Calendar.YEAR) - birthDate.get(Calendar.YEAR);
    month = today.get(Calendar.MONTH) - birthDate.get(Calendar.MONTH);

    if ( (birthDate.get(Calendar.DAY_OF_YEAR) - today.get(Calendar.DAY_OF_YEAR) > 3) ||
            (birthDate.get(Calendar.MONTH) > today.get(Calendar.MONTH ))){
        days = birthDate.get(Calendar.DAY_OF_MONTH) - today.get(Calendar.DAY_OF_MONTH);
        age--;

        Toast.makeText(getApplicationContext(), "inside if", Toast.LENGTH_SHORT).show();
        Log.e("month is",month+"");
        Log.e("Days",days+ " left");


    }else if ((birthDate.get(Calendar.MONTH) == today.get(Calendar.MONTH )) &&
              (birthDate.get(Calendar.DAY_OF_MONTH) > today.get(Calendar.DAY_OF_MONTH ))){
        Toast.makeText(getApplicationContext(), …
Run Code Online (Sandbox Code Playgroud)

java date date-difference

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

C# - 以分钟为单位计算时差

我有以下代码:

DateTime start = DateTime.Now;
Thread.Sleep(60000);
DateTime end = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

我想计算开始和结束之间的分钟差异.我该怎么办呢?对于上面的示例,结果应为"1".

提前致谢!

.net c# time datetime date-difference

3
推荐指数
2
解决办法
5177
查看次数

找到JDK7中日期的真正区别

如何在JDK7中找到两个日期之间的差异,以便可以添加差异以使两个日期相等?

我尝试使用类似StackOverflow问题的解决方案,从另一个中减去一个日期的毫秒数,但这可能导致日期之间的差异不正确.

在这个例子中,我尝试通过设置使其a相等ba = (b-a) + a

private void makeTwoDatesEqual(GregorianCalendar a, GregorianCalendar b, DatatypeFactory datatypeFactory) {
    long b_minus_a = b.getTimeInMillis() - a.getTimeInMillis();
    Duration delta = datatypeFactory.newDuration(b_minus_a);
    delta.addTo(a);
}
Run Code Online (Sandbox Code Playgroud)

但结果出人意料:

之前

a = "2015-08-29T00:00:00.000Z"
b = "2040-01-01T00:00:00.000Z"
delta = "P24Y4M5DT0H0M0.000S" // 2 days longer than it should be.
Run Code Online (Sandbox Code Playgroud)

a = "2040-01-03T00:00:00.000Z"
b = "2040-01-01T00:00:00.000Z"
delta = "P24Y4M5DT0H0M0.000S"
a.equals(b) = false
Run Code Online (Sandbox Code Playgroud)

Joda-Time也有同样的问题:

private void makeTwoDatesEqual(GregorianCalendar a, GregorianCalendar b) {
    DateTime date1 = new DateTime(a); …
Run Code Online (Sandbox Code Playgroud)

java datetime date jodatime date-difference

3
推荐指数
1
解决办法
188
查看次数

获取经过一段时间的年,月,日(DateTime)

如何从日期时间选取器值显示年龄,月,日.例如:

Datetimepicker value = #1/11/2014#
Today = #1/12/2015#.  
Run Code Online (Sandbox Code Playgroud)

最终结果将是"1年,0个月,1天(S)".但是获得这个结果不仅仅是减去DateTime.Year价值等等.有人知道数学公式或数学计算吗?

.net vb.net date date-difference

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

获取日期,小时,分钟和秒的日期差异(上午/下午日期)

试图从日期day - hours - mins - sec的字符串条目中获取日期差异.时间条目也有AM, PM.我正在尝试使用子字符串并将其转换为日期时间,但是AM - PM使其变得困难.

我有:06-OCT-15 09.30.20.000000 AM06-OCT-15 09.45.20.000000 PM

我想要:0 day(s) 12 hour(s) 15 min(s) 0 sec(s).

mysql sql date-difference

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

计算C#中两个日期之间的年,月和日

我想要在两个日期之间经过确切的年,月和日.

DateTime startDate = new DateTime(1974, 8, 15);

DateTime endDate = DateTime.Now.ToLocalTime();
Run Code Online (Sandbox Code Playgroud)

我想找到使用C#的上述两天之间经过的年数,月数和天数?

我的预期输出

年:68个月:10天:23

我推荐了一篇帖子,因为他们只解释了几天计算两个日期之间的差异(天数)?

但我需要三年,一年,一天和一天.请帮助我如何计算......

重复说明:已经在计算年,月,周和日中发布了相同逻辑的问题,该问题中提供的答案过于冗长,在我的问题中,我只询问年,月和日而不是周.概念是相同的,但与该问题相比,计算天数的逻辑是不同的,在这里我以非常简单的方式得到了答案.我的答案很满意.

完全重复:

原始问题:如何区分年/月/周/日的两个日期?(7年前被问到)

你的标记问题:计算年,月,周和日 (5年前问)

c# date date-difference

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

计算两个 OffsetDateTimes 之间的月数

我正在使用 java 8 并且我正在尝试计算两个 OffsetDateTime 对象之间的月数。做这个的最好方式是什么?

java datetime date-difference java-time

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

日期的剩余天数未正确显示

好的,所以我创建了一个函数来显示距离未来某个日期的天数...直到天数超过 9 天为止都是正确的..如果超过,它似乎会显示随机的天数。 ..请参阅下面的我的代码:

   public String daysTillExpire() {
        String daysLeft = "";
        int position = 0 ;
        String inputDateString = UIDM.get(position).date;
        Calendar calCurr = Calendar.getInstance();
        Calendar day = Calendar.getInstance();


        try {
            day.setTime(new SimpleDateFormat("dd-MM-yyyy").parse(inputDateString));

        } catch (ParseException e) {
            e.printStackTrace();
        }

            if (day.after(calCurr)) {

                String noumberOfDays = "Days left: " + (day.get(Calendar.DAY_OF_MONTH) - (calCurr.get(Calendar.DAY_OF_MONTH)));

                daysLeft = UIDM.get(position).date + "\n(" + noumberOfDays+")" ;

            }

            else if (day.before(calCurr)) {
                daysLeft = "Key Expired";
            return daysLeft; }
        return daysLeft;
    }
Run Code Online (Sandbox Code Playgroud)

UIDM是一个包含信息的数据模型...String inputDateString …

android date date-difference android-date java-time

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

如何在Java中以年月和日为单位找到两个日期之间的差异?

假设我有: 员工具有模型的startDate作为其属性变量和推广模式有promotionDate。我想知道员工在晋升之前工作了多长时间,我必须找到promotionDate 和startDate 之间的差异。如果我将 startDate 作为employee.getStartDate()和promotionDate 作为promotion.getPromotionDate,我怎么能找到在年月日差为任何日期,

任何帮助将非常感激。

更新:我解决了以下问题

String startDate = "2018-01-01";
String promotionDate = "2019-11-08";

LocalDate sdate = LocalDate.parse(startDate);
LocalDate pdate = LocalDate.parse(promotionDate);

LocalDate ssdate = LocalDate.of(sdate.getYear(), sdate.getMonth(), sdate.getDayOfMonth());
LocalDate ppdate = LocalDate.of(pdate.getYear(), pdate.getMonth(), pdate.getDayOfMonth());

Period period = Period.between(ssdate, ppdate);
System.out.println("Difference: " + period.getYears() + " years " 
                                  + period.getMonths() + " months "
                                  + period.getDays() + " days ");
Run Code Online (Sandbox Code Playgroud)

谢谢你。

java date date-difference

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

Java中排除周末的日期差异计算

我对 Java 平台非常初学者和陌生。我有以下 3 个简单的 Java 日期差计算函数。我想在所有 3 种方法中排除以下计算中的周末。任何人都可以帮助如何在以下 dateDiff 计算中排除周末吗?

public static String getDatesDiff(String date1, String date2) {

    String timeDiff = "";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date d1 = null;
    Date d2 = null;

    try {
        d1 = format.parse(date1);
        d2 = format.parse(date2);
        long diff = d2.getTime() - d1.getTime();
        timeDiff = ""+diff;
    } catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }
    return timeDiff;
}
Run Code Online (Sandbox Code Playgroud)
public static String getDatesDiffAsDays(String date1, String date2) {
    String timeDiff = ""; …
Run Code Online (Sandbox Code Playgroud)

java datediff date-difference

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

标签 统计

date-difference ×10

date ×6

java ×5

datetime ×3

.net ×2

c# ×2

java-time ×2

android ×1

android-date ×1

datediff ×1

jodatime ×1

mysql ×1

sql ×1

time ×1

vb.net ×1