我想将 utc java.util.date 时间(UTC)转换为服务器的本地时间。我们使用 jdk8。我怎样才能做到这一点?
我的要求是,我们在 UTC 中获得 lastTime。我们需要在门户中以本地时区显示用户友好的日期。下面是我的代码,它不起作用。
import java.time.*;
import java.util.Date;
private String getDateInString(Date lastTime) {
Date in = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime monthLdt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault()).minusMonths(1);
Date monthAgo = Date.from(monthLdt.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime weekLdt = LocalDateTime.now().minusWeeks(1);
Date weekAgo = Date.from(weekLdt.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime dayLdt = LocalDateTime.now().minusDays(1);
Date dayAgo = Date.from(dayLdt.atZone(ZoneId.systemDefault()).toInstant());
if (lastTime.before(monthAgo)) {
return "Month ago";
} else if (lastTime.before(weekAgo)) {
return "Week Ago";
} else if (lastTime.before(dayAgo)) {
return "Day Ago";
} else {
LocalDateTime lastLdt = LocalDateTime.ofInstant(lastTime.toInstant(), ZoneId.systemDefault());
String min = lastLdt.getMinute() + "";
if (lastLdt.getMinute() < 10) {
min = "0" + min;
}
return "TODAY," + lastLdt.getHour() + ":" + min;
}
}