部分内容来自:https://cloud.tencent.com/developer/article/2004759
1.LocalDate转Date
LocalDate nowLocalDate = LocalDate.now();
Date date = Date.from(nowLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
2.LocalDateTime转Date
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
3.Date转LocalDateTime(LocalDate)
Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
4.LocalDate转时间戳
LocalDate localDate = LocalDate.now();
long timestamp = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
5.LocalDateTime转时间戳
LocalDateTime localDateTime = LocalDateTime.now();
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
6.时间戳转LocalDateTime(LocalDate)
long timestamp = System.currentTimeMillis();
LocalDate localDate =
Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDate();
LocalDateTime localDateTime =
Instant.ofEpochMilli(timestamp).atZone(ZoneId.systemDefault()).toLocalDate();
新旧时间工具类对比
注意:原来的SimpleDateFormat线程不安全
/**
* 日期对象: Date
* 日期格式: SimpleDateFormat
* 实例方法!
*
* -----------------推荐java 8之后提供的java.time包下的新的api-------------
*
* 日期对象: LocalDate 或 LocalDateTime(带时分秒)
* 日期格式: DateTimeFormater
* 都是静态方法
*/
object TimeFieldParse {
def main(args: Array[String]): Unit = {
val ts=1650617070000l
val date = new Date(ts)
val format1 = new SimpleDateFormat("yyyy-MM-dd")
val format2 = new SimpleDateFormat("HH")
val dateStr: String = format1.format(date)
val hourStr: String = format2.format(date)
println(dateStr)
println(hourStr)
println("----------------------")
val formatter1: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val formatter2: DateTimeFormatter = DateTimeFormatter.ofPattern("HH")
val dateTime: LocalDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(ts), ZoneId.of("Asia/Shanghai"))
val dateStr2: String = dateTime.format(formatter1)
val hourStr2: String = dateTime.format(formatter2)
println(dateStr2)
println(hourStr2)
}
}