java8 日期转换_Java8日期时间——LocalDateTime的使用以及相互转换
日期時間處理
Java8內每個類含義
在 Java8 之前操作時間,用的都是 Date 和 Calendar 類,但這兩個類,操作起來及其繁瑣,且在時間轉換、時區轉換的時候也很麻煩,因此 JDK 官方在 8 之后,引入了 LocalDateTime 以及相關類,通過新的類來定義和操作時間,也十分的簡單清晰,下面我們就來我看一下如何操作。
Instant: 時間戳
Duration: 持續時間, 時間差
LocalDate: 只包含?期, ?如: 2016-10-20
LocalTime: 只包含時間, ?如: 231210
LocalDateTime: 包含?期和時間, ?如: 2016-10-20 231421
Period: 時間段
ZoneOffset: 時區偏移量, ?如: +8:00
ZonedDateTime: 帶時區的時間
Clock: 時鐘, ?如獲取?前美國紐約的時間
代碼實現
localdatetime -> 其他類型
// =================================================================================
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
Date date = Date.from(localDateTime.toInstant(ZoneOffset.ofHours(8)));
return date;
}
public static Date localDateTimeToDate(LocalDateTime localDateTime, ZoneOffset zoneOffset) {
Date date = Date.from(localDateTime.toInstant(zoneOffset));
return date;
}
public static long localDateTimeToTimestamp(LocalDateTime localDateTime) {
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).getEpochSecond();
return timestamp;
}
public static long localDateTimeToTimestamp(LocalDateTime localDateTime, ZoneOffset zoneOffset) {
long timestamp = localDateTime.toInstant(zoneOffset).getEpochSecond();
return timestamp;
}
public static String localDateTimeToString(LocalDateTime localDateTime) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String string = dateTimeFormatter.format(localDateTime);
return string;
}
public static String localDateTimeToString(LocalDateTime localDateTime, DateTimeFormatter dateTimeFormatter) {
String string = dateTimeFormatter.format(localDateTime);
return string;
}
public static String localDateTimeToString(LocalDateTime localDateTime, String pattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
String string = dateTimeFormatter.format(localDateTime);
return string;
}
date -> 其他類型
// =================================================================================
public static long dateToTimeStamp(Date date) {
return date.getTime();
}
public synchronized static String dateToString(Date date, SimpleDateFormat simpleDateFormat) {
return simpleDateFormat.format(date);
}
public static String dateToString(Date date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(date);
}
public static LocalDateTime dateToLocalDateTime(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
return localDateTime;
}
public static LocalDateTime dateToLocalDateTime(Date date, ZoneId zoneId) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zoneId);
return localDateTime;
}
timestamp -> 其他類型
// =================================================================================
public static Date timestampToDate(long timestamp) {
return new Date(timestamp);
}
public static LocalDateTime timestampToLocalDateTime(long timestamp) {
LocalDateTime localDateTime = Instant.ofEpochSecond(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
return localDateTime;
}
string -> 其他類型
// =================================================================================
public static Date stringToDate(String string, SimpleDateFormat simpleDateFormat) throws ParseException {
return simpleDateFormat.parse(string);
}
public static Date stringToDate(String string) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.parse(string);
}
public static LocalDateTime stringToLocalDateTime(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
return localDateTime;
}
public static LocalDateTime stringToLocalDateTime(String string, DateTimeFormatter dateTimeFormatter) {
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
return localDateTime;
}
public static long stringToTimestamp(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).getEpochSecond();
return timestamp;
}
公眾號截圖
文章在公眾號「iceWang」第一手更新,有興趣的朋友可以關注公眾號,第一時間看到筆者分享的各項知識點,謝謝!筆芯!
總結
以上是生活随笔為你收集整理的java8 日期转换_Java8日期时间——LocalDateTime的使用以及相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实现一个单例设计模式_Java正
- 下一篇: java实现闹钟功能_AlarmMana