Java GWT-转换日期格式
我有以下方法:Java GWT-转换日期格式,java,datetime,gwt,formatting,Java,Datetime,Gwt,Formatting,我有以下方法: public static String formatDate(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); Calendar today = Calendar.getInstance(); Calendar yesterday = Calendar.getInstance(); yesterday.add(Calendar.
public static String formatDate(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
Calendar today = Calendar.getInstance();
Calendar yesterday = Calendar.getInstance();
yesterday.add(Calendar.DATE, -1);
DateFormat timeFormatter = new SimpleDateFormat("hh:mma");
DateFormat dateTimeFormatter = new SimpleDateFormat("MMM d, yyyy - hh:mma");
if (calendar.get(Calendar.YEAR) == today.get(Calendar.YEAR) && calendar.get(Calendar.DAY_OF_YEAR) == today.get(Calendar.DAY_OF_YEAR) && calendar.get(Calendar.HOUR_OF_DAY) == today.get(Calendar.HOUR_OF_DAY) && calendar.get(Calendar.MINUTE) == today.get(Calendar.MINUTE)) {
return "few seconds ago ";
} else if (calendar.get(Calendar.YEAR) == today.get(Calendar.YEAR) && calendar.get(Calendar.DAY_OF_YEAR) == today.get(Calendar.DAY_OF_YEAR) && calendar.get(Calendar.HOUR_OF_DAY) == today.get(Calendar.HOUR_OF_DAY)) {
return "few minutes ago ";
} else if (calendar.get(Calendar.YEAR) == today.get(Calendar.YEAR) && calendar.get(Calendar.DAY_OF_YEAR) == today.get(Calendar.DAY_OF_YEAR)) {
return "today " + timeFormatter.format(date);
} else if (calendar.get(Calendar.YEAR) == yesterday.get(Calendar.YEAR) && calendar.get(Calendar.DAY_OF_YEAR) == yesterday.get(Calendar.DAY_OF_YEAR)) {
return "yesterday " + timeFormatter.format(date);
} else {
return dateTimeFormatter.format(date);
}
}
如何在客户端GWT中编写此代码?我想到了四种方法:
DateTime
s或LocalDateTime
s,然后用这两个值构造一个Period
,以查找它们之间的秒数、分钟数、小时数、天数等
例如:
private static int daysBetween(LocalDateTime start, LocalDateTime end) {
return new Period(start, end, PeriodType.days()).getDays();
}
这将查找开始
和结束
之间的完整天数
您可以重复几秒钟、几分钟等,并对结果进行模糊逻辑处理,以获得所需的输出字符串