gpt4 book ai didi

java - 日历 set() 方法没有设置正确的时间

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:25 24 4
gpt4 key购买 nike

我在我的日历实例上设置时间如下

private Calendar mCalendar = Calendar.getInstance();

public void onTimeSet(int hourOfDay, int minute, int second) {
int year = mCalendar.get(Calendar.YEAR);
int monthOfYear = mCalendar.get(Calendar.MONTH);
int dayOfMonth = mCalendar.get(Calendar.DAY_OF_MONTH);

Calendar lCalendar = Calendar.getInstance();
lCalendar.set(year, monthOfYear, dayOfMonth, hourOfDay, minute);

Date lDate = lCalendar.getTime();
if (lDate.before(new Date())) {
return;
} else {
mCalendar.set(year, monthOfYear, dayOfMonth, hourOfDay, minute);
setItemTime();
}
}

但是,在对日历 lCalendarmCalendar 的实例调用 getTime() 时,我得到的时间是日历不是从日历实例上设置的 hourOfDayminute 参数实例化的。此外,如果我在任一实例上再次调用 getTime() 方法,我会得到正确的时间。

为什么会发生这种情况,我该如何解决?

最佳答案

通过部分,字段操作 at Calendar Documentation

基本上,您正在设置字段而不是 time 并尝试获取 time 而不是单独设置的字段。根据文档,调用 set(...) 函数后,日历 time 不会立即更新。

那里,字里行间,

The specifics are determined by the concrete calendar class.

所以我想,无法提供通用答案。

关于java - 日历 set() 方法没有设置正确的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com