我的用户选择一个日期,我以纪元秒(或必要时以毫秒为单位)存储该日期。
我的用户分别选择一天中的时间和时区。
如何使用这些新信息调整我的纪元时间。我觉得我应该能够根据小时/分钟添加 X 毫秒,然后根据时区的 UTC 偏移量减去,但也许已经有一种方法可以为我做到这一点
我的用户选择一个日期,我以纪元秒(或必要时以毫秒为单位)存储该日期。
我的用户分别选择一天中的时间和时区。
如何使用这些新信息调整我的纪元时间。我觉得我应该能够根据小时/分钟添加 X 毫秒,然后根据时区的 UTC 偏移量减去,但也许已经有一种方法可以为我做到这一点
在 Java 中,您应该通过java.util.Calendar
实例执行日期和时间操作。您也可以将其用于日期时间存储。具体如何进行取决于输入的形式和所需的输出形式,但它可能会是这样的:
public long computeDateTimeMillisUTC(long dateMillisUTC, int hour24,
int minute, TimeZone zone) {
Calendar cal = Calendar.getInstance(zone);
cal.setTimeInMillis(dateMillisUTC);
cal.set(Calendar.HOUR_OF_DAY, hour24);
cal.set(Calendar.MINUTE, minute);
return cal.getTimeInMillis();
}