2

我的用户选择一个日期,我以纪元秒(或必要时以毫秒为单位)存储该日期。

我的用户分别选择一天中的时间和时区。

如何使用这些新信息调整我的纪元时间。我觉得我应该能够根据小时/分钟添加 X 毫秒,然后根据时区的 UTC 偏移量减去,但也许已经有一种方法可以为我做到这一点

4

1 回答 1

2

在 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();
}
于 2014-11-03T23:03:38.140 回答