如何轉換long
毫秒到LocalDateTime
?毫秒到LocalDateTime
我有一箇舊的代碼,它會對日曆執行一些操作,我想將毫秒結果轉換爲LocalDateTime。
final Calendar aMinuteAgo = Calendar.getInstance();
aMinuteAgo.add(Calendar.MINUTE, -1);
//Convert aMinuteAgo.getTimeInMillis() to LocalDateTime
如何轉換long
毫秒到LocalDateTime
?毫秒到LocalDateTime
我有一箇舊的代碼,它會對日曆執行一些操作,我想將毫秒結果轉換爲LocalDateTime。
final Calendar aMinuteAgo = Calendar.getInstance();
aMinuteAgo.add(Calendar.MINUTE, -1);
//Convert aMinuteAgo.getTimeInMillis() to LocalDateTime
Calendar
可以轉換成LocalDateTime
。這裏是示例代碼 import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Calendar;
public class LDTTest {
public static void main(String[] args) {
final Calendar aMinuteAgo = Calendar.getInstance();
aMinuteAgo.add(Calendar.MINUTE, -1);
System.out.println(aMinuteAgo.getTime());
LocalDateTime ofInstant = LocalDateTime.ofInstant(aMinuteAgo.toInstant(), ZoneId.systemDefault());
System.out.println(ofInstant);
}
}
LocalDateTime ofInstant = LocalDateTime.ofInstant(aMinuteAgo.toInstant(),ZoneId.systemDefault());
如果你不想使用默認了zoneid使用此代碼(可選),以獲得可用的時區。
public class Main {
public static void main(String[] args) {
Set<String> allZones = ZoneId.getAvailableZoneIds();
List<String> zoneList = new ArrayList<String>(allZones);
Collections.sort(zoneList);
LocalDateTime dt = LocalDateTime.now();
for (String s : zoneList) {
ZoneId zone = ZoneId.of(s);
ZonedDateTime zdt = dt.atZone(zone);
ZoneOffset offset = zdt.getOffset();
String out = String.format("%35s %10s%n", zone, offset);
System.out.println(out);
}
}
}
代替ZoneId.systemDefault()
LocalDateTime ofInstant = LocalDateTime.ofInstant的使用碼中的一個(aMinuteAgo.toInstant(),ZoneId.systemDefault()); – Sanj
這將工作,謝謝! –