黑马程序员技术交流社区
标题:
Java8生成时间方式以及格式化时间
[打印本页]
作者:
专注的一批
时间:
2020-8-21 10:43
标题:
Java8生成时间方式以及格式化时间
LocalDate类
----------
第一种:直接生成当前时间
```java
LocalDate date = LocalDate.now();
System.out.println(date);
结果:2020-08-20
```
第二种:使用 LocalDate.of 构建时间
```java
LocalDate date = LocalDate.now();
date = LocalDate.of(2020, 9, 20);
System.out.println(date);
结果:2020-09-20
```
第三种:使用 LocalDate.parse 构建时间
```java
LocalDate date = LocalDate.now();
date = LocalDate.parse("2020-08-20");
System.out.println(date);
```
LocalTime类
----------
第一种:直接获取当前时间包含毫秒数
```java
// 获取当前时间,包含毫秒数
LocalTime now = LocalTime.now();
System.out.println(now);
结果:10:59:01.532
```
第二种:构建时间
```java
LocalTime localTime = LocalTime.of(13, 30, 59);
System.out.println(localTime);
结果:13:30:59
```
第三种:获取当前时间不包含毫秒数
```java
LocalTime now = LocalTime.now();
LocalTime localTime = now.withNano(0);
System.out.println(localTime);
结果:11:02:07
```
第四种:将字符串转成时间
```java
LocalTime localTime = LocalTime.parse("11:05:20");
System.out.println(localTime);
结果:11:05:20
```
第五种:获取时、分、秒、纳秒
```java
LocalTime time = LocalTime.now();
System.out.println("当前时间" + time);
// 获取 时,分,秒,纳秒
int hour = time.getHour();
int minute = time.getMinute();
int second = time.getSecond();
int nano = time.getNano();
System.out.println( hour + "时" + minute + "分" + second + "秒" + nano + "纳秒");
结果:
当前时间11:27:14.161
11时27分14秒161000000纳秒
```
LocalDateTime类
--------------
第一种:直接获取当前时间包含毫秒数
```java
LocalDateTime time = LocalDateTime.now();
System.out.println(time);
结果:2020-08-20T11:07:45.217
```
第二种:将字符串转成时间
```java
String date = "2020-08-20 11:08:10";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.parse(date, dateTimeFormatter);
System.out.println(time);
结果:2020-08-20T11:08:10
```
第三种:将时间转成时间戳
```java
String date="2020-08-20 11:08:10";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.parse(date, dateTimeFormatter);
long l = time.toEpochSecond(ZoneOffset.of("+9"));
System.out.println(l);
结果:1597889290
```
第四种:将时间进行格式化为字符串
```java
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String time = dateTimeFormatter.format(LocalDateTime.now());
System.out.println(time);
结果:2020-08-20 11:13:39
```
外汇代理https://www.fx61.com/ib.html
第五种:获取、年、月、日、时、分、秒、纳秒
```java
/** 时间 **/
LocalDateTime dateTime = LocalDateTime.now();
System.out.println("LocalDateTime:" + dateTime);
// LocalDateTime实际上就是 日期类+时间类的组合,所以也可以LocalDate和LocalTime的一些方法
int year = dateTime.getYear();
int month = dateTime.getMonthValue();
int day = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();
int nano = dateTime.getNano();
System.out.println(year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒" + nano + "纳秒");
结果:
当前时间:2020-08-20T11:32:10.978
2020年8月20日11时32分10秒978000000纳秒
```
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2