LocalDateTime、String、TimeStamp、Long、Instant、 Date互转

由于java版本的迭代,一个使用java开发的项目中可能出现多种日期对象,例如LocalDateTime、LocalDate、Date,不像C#只有一个DateTime,因此在各种日期格式或者对象之间的转换显得有点复杂,总是记不住,在需要用到时总是需要依靠搜索引擎,有点浪费时间,所以特意把常用的转换场景总结如下:

1、 LocalDateTime转为String、TimeStamp、Long、Instant、 Date

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

System.out.println("----------------LocalDateTime----------------");

//LocalDateTime -> String

String localDateTimeToString = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

System.out.println("LocalDateTime -> String:  " + localDateTimeToString);

//LocalDateTime -> TimeStamp

Timestamp localDateTimeToTimeStamp = Timestamp.valueOf(LocalDateTime.now());

System.out.println("LocalDateTime -> TimeStamp:  " + localDateTimeToTimeStamp);

//LocalDateTime -> Long

Long localDateTimeToLong = Timestamp.valueOf(LocalDateTime.now()).getTime();

System.out.println("LocalDateTime -> Long:  " + localDateTimeToLong);

//LocalDateTime -> Instant

Instant localDateTimeToInstant = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant();

System.out.println("LocalDateTime -> Instant:  " + localDateTimeToInstant);

//LocalDateTime -> Date

Date LocalDateTimeToDate = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant());

System.out.println("LocalDateTime -> Date:  " + LocalDateTimeToDate);

2、String转为LocalDateTime、 Date

1

2

3

4

5

6

7

8

9

10

11

12

System.out.println("----------------String----------------");

//String -> LocalDateTime

LocalDateTime stringToLocalDateTime =

        LocalDateTime.parse("2018-03-11 15:30:11", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

System.out.println("String -> LocalDateTime:  " + stringToLocalDateTime);

//String -> Date

try {

    Date stringToDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2018-03-11 15:30:11");

    System.out.println("String -> Date:  " + stringToDate);

catch (ParseException ex) {

}

3、Timestamp转为LocalDateTime、 Date

1

2

3

4

5

6

7

8

System.out.println("---------------Timestamp-----------------");

//Timestamp -> LocalDateTime

LocalDateTime timeStampToLocalDateTime =

        LocalDateTime.ofInstant(new Timestamp(1520754566856L).toInstant(), ZoneId.systemDefault());

System.out.println("Timestamp -> LocalDateTime:  " + timeStampToLocalDateTime);

//Timestamp -> Date

Date timestampToDate = Date.from(new Timestamp(1520754566856L).toInstant());

System.out.println("Timestamp -> Date:  " + timestampToDate);

4、Long转为LocalDateTime、 Date

1

2

3

4

5

6

7

8

System.out.println("---------------Long-----------------");

//Long -> LocalDateTime

LocalDateTime longToLocalDateTime =

        LocalDateTime.ofInstant(Instant.ofEpochMilli(1520754566856L), ZoneId.systemDefault());

System.out.println("Long -> LocalDateTime:  " + longToLocalDateTime);

//Long -> Date

Date longToDate = new Date(1520754566856L);

System.out.println("Long -> Date: " + longToDate);

5、Instant转为LocalDateTime、 Date

1

2

3

4

5

6

7

System.out.println("----------------Instant----------------");

//Instant -> LocalDateTime

LocalDateTime instantToLocalDateTime = LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault());

System.out.println("Instant -> LocalDateTime:  " + instantToLocalDateTime);

//Instant -> Date

Date instantToDate = Date.from(Instant.now());

System.out.println("Instant -> Date:  " + instantToDate);

6、Date转为LocalDateTime、String、TimeStamp、Long、Instant

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

System.out.println("----------------Date----------------");

//Date -> String

String dateToString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());

System.out.println("Date -> String:  " + dateToString);

//Date -> LocalDateTime

LocalDateTime dateToLocalDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());

System.out.println("Date -> LocalDateTime:  " + dateToLocalDateTime);

//Date -> Timestamp

Timestamp dateToTimestamp = new Timestamp(new Date().getTime());

System.out.println("Date -> Timestamp:  " + dateToTimestamp);

//Date -> Long

Long dateToLong = new Date().getTime();

System.out.println("Date -> Long: " + dateToLong);

//Date -> Instant

Instant dateToInstant = new Date().toInstant();

System.out.println("Date -> Instant:  " + dateToInstant);

 java日期互转:LocalDateTime、String、TimeStamp、Long、Instant、Date - Ronzy - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/bestzrz/p/10425870.html 

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值