gpt4 book ai didi

Java Calendar.set 未给出正确的结果

转载 作者:行者123 更新时间:2023-12-02 08:08:46 25 4
gpt4 key购买 nike

我看不出下面的代码哪里出了问题,这可能是显而易见的事情,但我在这个阶段太盲目了,看不到它。我将日期“01/01/2009”传递给日历实例。然后,我尝试将 3 月的月份设置为 2,我看到的输出是

格式化:01/01/2009

日历月份:2

cal.set( Calendar.MONTH, mth ); //mth = int 2

log.debug("formatted: " + formatter.format(cal.getTime()));
log.debug("cal month: "+Integer.valueOf(cal.get(Calendar.MONTH)).toString());

当我将 Calendar.DAY 设置为最大值时,日期显示为2009年1月31日

为什么我的月份设置不生效?

最佳答案

我们遇到了这个问题,结果是您设置的值在您实际尝试从日历中“获取”值之前不会被使用。我们很困惑,因为使用调试器时,该值似乎从未被设置,但当您真正“获取”它时,它就起作用了。

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html

获取和设置日历字段值

可以通过调用 set 方法来设置日历字段值。日历中设置的任何字段值在需要计算其时间值(从纪元开始的毫秒数)或日历字段的值之前都不会被解释。调用get、getTimeInMillis、getTime、add、roll都会涉及到这样的计算。

关于Java Calendar.set 未给出正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1152846/

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