我的班级有 2 个构成其日期的属性:
java.util.Date date;
String timeZone;
如何查看此日期是否早于服务器上的当前时间?
基本上我想写这样的东西,但要考虑 timeZone:
return date.before(new Date());
Date
在内部存储为 UTC,因此您的timeZone
变量不是必需的。您可以简单地使用Date.before(Date)
.
Calendar startCalendar = Calendar.getInstance();
int startTimeZoneOffset = TimeZone.getTimeZone(timeZone).getOffset(startDate.getTime()) / 1000 / 60;
startCalendar.setTime(startDate);
startCalendar.add(Calendar.MINUTE, startTimeZoneOffset);
Calendar nowCalendar = Calendar.getInstance();
int nowTimeZoneOffset = nowCalendar.getTimeZone().getOffset(new Date().getTime()) / 1000 / 60;
nowCalendar.setTime(new Date());
nowCalendar.add(Calendar.MINUTE, nowTimeZoneOffset);
return startCalendar.before(nowCalendar);