1.Joda-Time简介
Joda-Time是java中处理日期相关的工具框架。
Joda-Time官网:https://www.joda.org/joda-time/#
可在maven中央仓库中查看Joda-Time依赖发行版本:
https://mvnrepository.com/artifact/joda-time/joda-time
2.引入maven依赖
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.2</version>
</dependency>
依赖的最新版本可在maven中央仓库中查询,这里使用2.9.2
3.常用jodatime方法
3.1 代码示例:
import org.joda.time.DateTime;
import java.util.Date;
public class MainApplication {
public static void main(String[] args) {
// 当前时刻,年月日时分秒毫秒+时区
DateTime dateTime01 = new DateTime();
System.out.println("11111:dateTime01:" + dateTime01);
// 构造函数重载
// 一个参数:格林威治时间+毫秒数(当前参数)
// 五个参数:年、月、日、时、分
// 六个参数:年、月、日、时、分、秒
// 七个参数:年、月、日、时、分、秒、毫秒
// 八个参数:年、月、日、时、分、秒、毫秒、时区
DateTime dateTime02 = new DateTime(2000, 1, 1, 14, 1);
System.out.println("222222:dateTime02:" + dateTime02);
// toString方法被重写了,指定日期输出格式,datetime默认的输出格式为yyyy-MM-ddTHH:mm:ss.SSS
// 小时用小写hh是12小时制,可以加a标识上午下午;用HH是24小时制
System.out.println("333333:dateTime01:" + dateTime01.toString("MM/dd/yyyy hh:mm:ss.SSSa")); // a表示上午,下午
System.out.println("44444:dateTime02:" + dateTime02.toString("yyyy-MM-dd aHH:mm:ss EE")); // EE表示周几
// Date类可转化为DateTime类
Date Date01 = new Date();
System.out.println("555555:Date01:" + Date01);
DateTime dateTime03 = new DateTime(Date01);
System.out.println("666666:dateTime03:" + dateTime03);
// 对日期的加减操作
DateTime dateTime04 = new DateTime();
dateTime04 = dateTime04.plusYears(3) // 增加年
.plusMonths(1) // 增加月
.plusDays(1) // 增加日
.minusHours(1) // 减小时
.minusMinutes(1) // 减分钟
.minusSeconds(1); // 减秒数
System.out.println("777777:dateTime04:" + dateTime04.toString());
// 获取日期中的元素 DateTime.Property
DateTime.Property year = dateTime04.year();
DateTime.Property month = dateTime04.monthOfYear();
DateTime.Property day = dateTime04.dayOfMonth();
System.out.println("888888:year:month:day " + year + ":" + month + ":" + day); // 不会获取值,只是获取元素
// 判断是否闰月,闰年
System.out.println("999999:是否闰月:" + month.isLeap());
System.out.println("000000:是否闰年:" + year.isLeap());
// 获取日期中的元素值,年月日时分秒毫秒
Integer yearValue = dateTime04.getYear();
Integer monthValue = dateTime04.getMonthOfYear();
Integer dayValue = dateTime04.getDayOfMonth();
Integer millisOfDayValue = dateTime04.getMillisOfDay();
Long millsValue = dateTime04.getMillis(); // 获取当前时间戳
System.out.println("yearValue:"+yearValue);
System.out.println("monthValue:"+monthValue);
System.out.println("dayValue:"+dayValue);
System.out.println("millisOfDayValue:"+millisOfDayValue);
System.out.println("millsValue:"+millsValue);
}
}