私のクラスには、日付を構成する 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);