1

我的班级有 2 个构成其日期的属性:

java.util.Date date;
String timeZone;

如何查看此日期是否早于服务器上的当前时间?

基本上我想写这样的东西,但要考虑 timeZone:

return date.before(new Date());
4

3 回答 3

3

Date在内部存储为 UTC,因此您的timeZone变量不是必需的。您可以简单地使用Date.before(Date).

于 2013-02-06T01:23:15.580 回答
0
    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);
于 2013-02-06T04:17:16.487 回答
0
于 2018-09-04T04:26:35.133 回答