java 8 日期格式,java8的新特性之日期格式

本文介绍了Java8中java.time包下新增的Local和Zoned日期时间API。LocalDateTime用于处理无时区的日期时间,而ZonedDateTime则涉及指定时区的日期时间操作。示例代码展示了如何获取和修改日期时间、时区以及遍历所有可用时区。
摘要由CSDN通过智能技术生成

Java 8 在 java.time 包下提供了很多新的 API。以下为两个比较重要的 API:

Local(本地) − 简化了日期时间的处理,没有时区的问题。

Zoned(时区) − 通过制定的时区处理日期时间。

public static void main(String args[]){

DateTest dateTest = new DateTest();

dateTest.testLocalDateTime();

dateTest.testZonedDateTime();

}

public void testLocalDateTime(){

// 获取当前的日期时间

LocalDateTime currentTime = LocalDateTime.now();

System.out.println("当前时间: " + currentTime);

LocalDate date1 = currentTime.toLocalDate();

System.out.println("只有年月日: " + date1);

Month month = currentTime.getMonth();

int day = currentTime.getDayOfMonth();

int seconds = currentTime.getSecond();

System.out.println("月: " + month +", 日: " + day +", 秒: " + seconds);

LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);

System.out.println("指定年月: " + date2);

// 12 december 2014

LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12);

System.out.println("指定年月日: " + date3);

// 22 小时 15 分钟

LocalTime date4 = LocalTime.of(22, 15);

System.out.println("指定时分: " + date4);

// 解析字符串

LocalTime date5 = LocalTime.parse("20:15:30");

System.out.println("解析字符串: " + date5);

}

public void testZonedDateTime(){

// 获取当前时间日期

ZonedDateTime date1 = ZonedDateTime.parse("2015-12-03T10:15:30+05:30[Asia/Shanghai]");

System.out.println("date1: " + date1);

ZoneId id = ZoneId.of("Europe/Paris");

System.out.println("ZoneId: " + id);

ZoneId currentZone = ZoneId.systemDefault();//获取当前时区

System.out.println("当前时区: " + currentZone);

Set set = ZoneId.getAvailableZoneIds();//获取所有时区

set.forEach(System.out::println);

ZonedDateTime date2 = ZonedDateTime.now();//获取当前时间和时区

System.out.println("date2: " + date2);

}

输出信息如下:

当前时间: 2018-07-27T10:45:26.288

只有年月日: 2018-07-27

月: JULY, 日: 27, 秒: 26

指定年月: 2012-07-10T10:45:26.288

指定年月日: 2014-12-12

指定时分: 22:15

解析字符串: 20:15:30

date1: 2015-12-03T10:15:30+08:00[Asia/Shanghai]

ZoneId: Europe/Paris

当前时区: Asia/Shanghai

Asia/Aden

America/Cuiaba

Etc/GMT+9

Etc/GMT+8

Africa/Nairobi

America/Marigot

Asia/Aqtau  (所有的时区)

date2: 2018-07-27T10:45:26.357+08:00[Asia/Shanghai]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值