如何转换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
这将工作,谢谢! –