joda-time学习与使用

本文最后更新于:2021年10月7日 凌晨

概览:joda-time学习与使用

joda_time

官网:https://www.joda.org/joda-time/index.html

Maven依赖:

1
2
3
4
5
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.10</version>
</dependency>

对应包名:``org.joda.time.

DateTime类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// DateTime:full date and time with time-zone
DateTime dateTime = new DateTime();
// 默认当前所在时区
System.out.println(dateTime);

// 构造函数设置
DateTime dateTime1 = new DateTime(2000,11,21,7,10,25);
System.out.println(dateTime1); // 2000-11-21T07:10:25.000+08:00

// with方法, 修改现有的时间,创造出新的时间实例
DateTime changeDayDate = dateTime1.withDayOfMonth(1);
System.out.println(changeDayDate); // 2000-11-01T07:10:25.000+08:00

/*
changeDayDate = dateTime1.withDayOfMonth(0); // org.joda.time.IllegalFieldValueException: Value 0 for dayOfMonth must be in the range [1,30]
System.out.println(changeDayDate);*/

// plus、minus方法,时间的增减,创造出新的时间实例,[所有的计算都会符合历法]
changeDayDate = dateTime1.plusDays(3).minusMonths(2);
System.out.println(changeDayDate); // 2000-09-24T07:10:25.000+08:00

// 获取属性property,对应对象:DateTime.Property,还可以指定不同地区的特殊信息
System.out.println(dateTime1.getHourOfDay()); // 7
System.out.println(dateTime1.monthOfYear().getAsText()); // 十一月
System.out.println(dateTime1.monthOfYear().getAsText(Locale.ENGLISH)); // November

// round系列方法,属性置0, floor向下舍入,ceiling向上舍入
DateTime now = new DateTime();
System.out.println(now.dayOfWeek().roundFloorCopy()); // 2021-09-10T00:00:00.000+08:00
System.out.println(now.dayOfWeek().roundCeilingCopy()); // 2021-09-11T00:00:00.000+08:00

// 判断是否是闰年
System.out.println(dateTime1.year().getAsText() + ":" + dateTime1.year().isLeap()); // 2000:true
System.out.println(now.year().getAsText() + ":" + now.year().isLeap()); // 2021:false

格式化

1
2
3
// 日期时间格式化
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy MM dd - HH:mm:ss");
System.out.println(fmt.print(new DateTime())); // 2021 09 10 - 15:39:24

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!