我希望下面的代码能够在我的本地时区(美国东部标准时间)中为我呈现正确的时间,但我一直让时间比当前时间早 5 小时。我的userTimeZoneOffset
值是 -300,这是我的时区与 UTC 的正确偏移分钟数。dateAndTimeFormat
为我设置为“MM/dd/yyyy h:mm a”。
如何获得currentDateAndTime
下面的变量以根据 UTC 而不是我当前的时区进行计算?
String dateAndTimeFormat = i18nUtil.getValue(locale, "dateAndTimeFormat");
SimpleDateFormat sdf = new SimpleDateFormat(dateAndTimeFormat);
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
if (userTimeZoneOffset != null) {
calendar.add(Calendar.MINUTE, userTimeZoneOffset);
}
String currentDateAndTime = sdf.format(calendar.getTime());
return currentDateAndTime;