时间戳与格式日期时间转换:LocalDateTime,SimpleDateFormat
时间戳与格式日期时间转换
1.使用LocalDateTime:线程安全
public void testLocalDateTime() {
long time = new Date().getTime();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//时间戳格式化
String timeStr = dtf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault()));
System.out.println(timeStr);
//日期字符串转时间戳
long timeRs = LocalDateTime.from(dtf.parse(timeStr)).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
System.out.println(timeRs);
}
2.使用SimpleDateFormat:线程不安全
public void testSdf() throws ParseException {
long time = new Date().getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//时间戳格式化
String timeStr = sdf.format(time);
System.out.println(timeStr);
//日期字符串转时间戳
System.out.println(sdf.parse(timeStr).getTime());
}