gpt4 book ai didi

使用 joda 的 Java 时间 datediff

转载 作者:行者123 更新时间:2023-11-30 03:12:32 24 4
gpt4 key购买 nike

这是我用 joda 时间计算延迟时间的代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.joda.time.Interval;
import org.joda.time.Period;

public class DateDiff {

public static void main(String[] args) {

DateDiff obj = new DateDiff();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss");

try {

Date date1 = simpleDateFormat.parse("2015-10-01 20:32:06");
Date date2 = simpleDateFormat.parse("2015-10-25 00:52:36");

obj.printDifference(date1, date2);

} catch (ParseException e) {
}
}

public void printDifference(Date startDate, Date endDate){

Interval interval = new Interval(startDate.getTime(), endDate.getTime());
Period period = interval.toPeriod();

System.out.printf(
"%d years, %d months, %d days, %d hours, %d minutes, %d seconds%n",
period.getYears(), period.getMonths(), period.getDays(),
period.getHours(), period.getMinutes(), period.getSeconds());
}
}

这是我的引用:http://www.mkyong.com/java/java-time-elapsed-in-days-hours-minutes-seconds/当我运行收到的代码时:

0 years, 0 months, 2 days, 4 hours, 20 minutes, 30 seconds

有人可以告诉我我的代码有什么问题吗?

最佳答案

I've changed the 'DD'to 'dd' but the result remains the same

嗯,这是因为您忽略了 Period 的某些内容实例:the weeks .

您需要像这样输出实例:

System.out.printf(
"%d years, %d months, %d weeks, %d days, %d hours, %d minutes, %d seconds%n",
period.getYears(), period.getMonths(), period.getWeeks(), period.getDays(),
period.getHours(), period.getMinutes(), period.getSeconds());

你会得到:

0 years, 0 months, 3 weeks, 2 days, 4 hours, 20 minutes, 30 seconds

据我所知......它看起来是正确的。

<小时/>

如果您不喜欢在此处使用周,那么您可以使用不同的 PeriodType 。例如:

Period period = interval.toPeriod(PeriodType.yearMonthDayTime());

这将创建一个仅使用年、月、日和时间的类型,就像您在示例中所希望的那样。

输出为:

0 years, 0 months, 23 days, 4 hours, 20 minutes, 30 seconds

关于使用 joda 的 Java 时间 datediff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33321581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com