导入依赖
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.8</version>
</dependency>
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
/**
* @Author: huangshun
* @Date: 2019/6/24 14:26
* @Version 1.0
*/
public class DateTimeTest {
public static void main(String[] args) {
// 1 初始化时间 获取当前时间
DateTime dateTime = new DateTime();
System.out.println("初始化时间"+dateTime);
// 2.按格式输出时间(将DateTime格式转换为字符串) 小写hh是12小时制,大写HH是24小时制
String time = dateTime.toString("yyyy年-MM月-dd日 HH:mm:ss");
System.out.println("按格式输出时间"+time);
//3.将字符串转换为DateTime格式
DateTimeFormatter format = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime format_dateTime = DateTime.parse("2018-4-23 23:12:16", format);
System.out.println("将字符串转换为DateTime格式"+format_dateTime);
// 5.计算两个日期间隔的天数
LocalDate start=new LocalDate(2019,6,24);
LocalDate end=new LocalDate(2018, 06, 16);
int days = Days.daysBetween(start, end).getDays();
int day2 = Days.daysBetween(end, start).getDays();
System.out.println("间隔的日期为:"+days);
System.out.println("间隔的日期2为:"+day2);
// 6.增加日期
DateTime dateTime1 = DateTime.parse("2018-04-23");//将字符串转为dateTime格式
dateTime1 = dateTime1.plusDays(1);//增加1天
dateTime1 = dateTime1.plusHours(2);//增加2小时
dateTime1 = dateTime1.plusMinutes(3);//增加3分钟
dateTime1 = dateTime1.plusMonths(4);//增加4个月
dateTime1 = dateTime1.plusSeconds(5);//增加5秒
dateTime1 = dateTime1.plusWeeks(6);//增加6周
dateTime1 = dateTime1.plusYears(7);//增加7年
System.out.println(dateTime1);
// 7.减少日期
DateTime dateTime7 = DateTime.parse("2018-04-23");
dateTime7 = dateTime7.minusMillis(1);//减少1分钟
dateTime7 = dateTime7.minusHours(1);//减少1小时
dateTime7 = dateTime7.minusSeconds(1);//减少1秒
System.out.println(dateTime7);
// 8.判断是否闰月
DateTime time8 = new DateTime();
org.joda.time.DateTime.Property month = time8.monthOfYear();
System.out.println("是否闰月:" + month.isLeap());
// 9.DateTime与Date转换
DateTime date_time = new DateTime(new Date());
Date date = date_time.toDate();
System.out.println(date);
DateTime time2 = new DateTime(System.currentTimeMillis());
System.out.println(time2.getMillis());
// 10.DateTime与Calendar转换
Calendar calendar = Calendar.getInstance();
dateTime = new DateTime(calendar);
System.out.println(dateTime);
// 11. 判断是周几
DateTime dateTime_week=new DateTime();
int dayOfWeek = dateTime_week.getDayOfWeek(); // 得到是周几
System.out.println("dayOfWeek---"+dayOfWeek);
DateTime dateTime_week2 = DateTime.parse("2019-06-25");//将字符串转为dateTime格式
System.out.println(dateTime_week2.getDayOfWeek());
}
}