joda time计算天数

背景

需要计算两个日期直接的天数,这里使用Joda Time这个第三方库解决这个问题,因为不太想操心闰年之类的复杂情况。

解决

Maven

<dependency><groupId>joda-timegroupId><artifactId>joda-timeartifactId><version>2.10.10version>
dependency>

Gradle

compile group: 'joda-time', name:'joda-time', version:'2.10.10'

Java

import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.Days;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class Main {public static void main(String[] args) {DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {Date startDate = dateFormat.parse("2021-10-01 00:00:00");Date expireDate = dateFormat.parse("2021-10-06 23:59:59");// 计算天数String timeZone = "Asia/Shanghai";DateTimeZone CHINA = DateTimeZone.forID(timeZone);DateTime start = new DateTime(startDate, CHINA);DateTime end = new DateTime(expireDate.getTime(), CHINA);Days dias = Days.daysBetween(start, end);System.out.printf("间隔天数:%d", dias.getDays());} catch (ParseException e) {e.printStackTrace();}}
}

结果:

间隔天数:5

参考:

  • Joda-Time
  • Number of days between two dates in Joda-Time


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部