admin管理员组文章数量:1595877
Java 8 时间接口示例:Period、Year、YearMonth 和 ZonedDateTime
- java.time.Period
- java.time.Year
- java.time.YearMonth
- java.time.ZonedDateTime
- 参考文献
此页面提供了 Java 8 API 的示例,如 Period
、Year
、YearMonth
和 ZonedDateTime
。
这些是 java 8
中引入的新类。
Period
表示一个时间段。
Year
类代表年份,而 YearMonth
代表年份和月份。
ZonedDateTime
表示带区域的日期和时间。
java.time.Period
Period
是指不同单位的时间量,如年、月或日。
例如:1年5个月10天。
PeriodDemo.java
import java.time.LocalDate;
import java.time.Period;
public class PeriodDemo {
public static void main(String[] args) {
LocalDate start = LocalDate.now();
System.out.println("Period.between:"+Period.between(start, LocalDate.MAX).getDays());
System.out.println("Period.ofDays:"+Period.ofDays(5).getDays());
}
}
输出
Period.between:19
Period.ofDays:5
java.time.Year
Year
类代表年份,如2014
。
这个类只与年份有关。
我们可以用它来判断闰年(leap year
)或获取当前年份。
YearDemo.java
import java.time.Year;
public class YearDemo {
public static void main(String[] args) {
System.out.println("Year.now():"+Year.now());
System.out.println("Year.MAX_VALUE:"+Year.MAX_VALUE);
System.out.println("Year.isLeap(2014):"+Year.isLeap(2014));
System.out.println("Year.isLeap(2016):"+Year.isLeap(2016));
}
}
输出
Year.now():2014
Year.MAX_VALUE:999999999
Year.isLeap(2014):false
Year.isLeap(2016):true
java.time.YearMonth
YearMonth
是代表年份和月份组合的类,如 2014-09
。
此类提供了获取给定日期字符串的年和月的方法。
YearMonthDemo.java
import java.time.YearMonth;
public class YearMonthDemo {
public static void main(String[] args) {
System.out.println("YearMonth.now():"+YearMonth.now());
System.out.println("getMonthValue():"+YearMonth.parse("2014-09").getMonthValue());
System.out.println("getYear():"+YearMonth.parse("2014-09").getYear());
System.out.println("isLeapYear():"+YearMonth.parse("2014-09").isLeapYear());
}
}
输出
YearMonth.now():2014-09
getMonthValue():9
getYear():2014
isLeapYear():false
java.time.ZonedDateTime
ZonedDateTime
类表示带区域的日期和时间。;例如:2014-09-12T18:32:29.636+05:30[Asia/Calcutta]
。
该类提供了获取年、月、日、时、分、秒和区域偏移量的方法。
ZonedDateTimeDemo.java
import java.time.ZonedDateTime;
public class ZonedDateTimeDemo {
public static void main(String[] args) {
System.out.println(ZonedDateTime.now());
ZonedDateTime zdt = ZonedDateTime.parse("2014-09-12T10:15:30+01:00[Europe/Paris]");
System.out.println("getDayOfYear:"+zdt.getDayOfYear());
System.out.println("zdt.getYear():"+zdt.getYear());
}
}
输出
2014-09-12T18:32:29.636+05:30[Asia/Calcutta]
getDayOfYear:255
zdt.getYear():2014
参考文献
【1】Java 8 Time API Example: Period, Year, YearMonth and ZonedDateTime
版权声明:本文标题:【Java 8 新特性】Java 8 时间接口示例:Period、Year、YearMonth 和 ZonedDateTime 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728236837a1150519.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论