1.官网地址 https://www.joda.org/joda-time/
2.依赖jar包
<!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.1</version>
</dependency>
3.测试代码 导这个包 import org.joda.time.DateTime
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//当前时间 2019-08-04 00:27:45 minus方法根据当前时间减 plus方法根据当前时间加
Date date1=new DateTime().minusDays(3).toDate(); //2019-08-01 00:27:45 减3天
Date date2=new DateTime().minusHours(4).toDate(); //2019-08-03 20:27:45 减4小时
Date date3=new DateTime().minusMonths(3).toDate();//2019-05-04 00:27:45 减3个月
Date date5=new DateTime().minusMinutes(3).toDate();//2019-08-04 00:24:45 减3分钟
Date date6=new DateTime().minusSeconds(3).toDate();//2019-08-04 00:27:42 减3毫秒
Date date7=new DateTime().minusWeeks(3).toDate();//2019-07-14 00:27:45 减3周
Date date8=new DateTime().minusYears(3).toDate();//2016-08-04 00:27:45 减3年
Calendar instance = Calendar.getInstance();
DateTime dateTime1=new DateTime(new Date()); //构造DateTime对象,传Date或Calendar都行
DateTime dateTime2=new DateTime(instance); //不能直接format DateTime对象,必须toDate
System.out.println(sdf.format(dateTime1.toDate())); //2019-08-04 00:42:45
System.out.println(sdf.format(dateTime2.toDate())); //2019-08-04 00:42:45
int year = dateTime1.getYear(); //2019 年
int month = dateTime1.getMonthOfYear(); //8 月
int week = dateTime1.getDayOfWeek(); //7 星期几
int hour = dateTime1.getMinuteOfHour(); //52 //分
int second = dateTime1.getDayOfMonth(); //4 //天
DateTime plusDays = dateTime1.plusDays(2); //2019-8-06 //两天后
DateTime dateTime = dateTime1.plusMonths(2); // 2019-10-06
int century = dateTime1.getEra(); //1
int era = dateTime1.getWeekyear(); //2019
DateTime withYear = dateTime1.withYear(2000); //2000-08-04 00:57:45 设置年份 月天时分秒为当前年份月天时分秒
DateTime twoHoursLater=dateTime1.plusDays(2); //2019-08-06 00:57:45