in java/java-guestbook/frontend/src/main/java/cloudcode/guestbook/frontend/PrintDuration.java [21:45]
static String print(long prevTimestamp) {
LocalDateTime now = LocalDateTime.now();
LocalDateTime prev = LocalDateTime.ofInstant(
Instant.ofEpochMilli(prevTimestamp), TimeZone.getDefault().toZoneId());
Duration duration = Duration.between(now, prev);
long num;
String unit;
if (Math.abs(duration.toDays()) >= DAYS_IN_YEAR) {
num = Math.abs(duration.toDays()) / DAYS_IN_YEAR;
unit = num == 1 ? "year" : "years";
} else if (Math.abs(duration.toDays()) > 0) {
num = Math.abs(duration.toDays());
unit = num == 1 ? "day" : "days";
} else if (Math.abs(duration.toHours()) > 0) {
num = Math.abs(duration.toHours());
unit = num == 1 ? "hour" : "hours";
} else if (Math.abs(duration.toMinutes()) > 0) {
num = Math.abs(duration.toMinutes());
unit = num == 1 ? "minute" : "minutes";
} else {
return "just now";
}
return String.format("%d %s ago", num, unit);
}