Java 碎片化知识点

发布于 2023-08-25

获取当前时间戳

import java.time.Instant;

//10位时间戳, 1692893144
long epochSecond = Instant.now().getEpochSecond();
//10位时间戳, 整型, 1692893144
int epochSecond1 = (int) Instant.now().getEpochSecond();
//13位时间戳, 1692893144845
long epochMilli = Instant.now().toEpochMilli();
//13位时间戳, 1692893144845
long currentTimeMillis = System.currentTimeMillis();

时间戳转 LocalDateTime

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;

LocalDateTime localDateTime = Instant.ofEpochSecond(1692893364).atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime localDateTime1 = LocalDateTime.ofInstant(Instant.ofEpochSecond(1692893364), ZoneId.systemDefault());
LocalDateTime localDateTime2 = Instant.ofEpochMilli(1692893364596L).atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime localDateTime3 = LocalDateTime.ofInstant(Instant.ofEpochMilli(1692893364596L), ZoneId.systemDefault());

格式化 LocalDateTime

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

//2023-08-25 00:20:53
//java8 推荐使用 DateTimeFormatter 来格式化
String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));