gpt4 book ai didi

java - 日历月份实例减少了一位

转载 作者:行者123 更新时间:2023-12-01 11:57:48 25 4
gpt4 key购买 nike

这是我的代码:

月份在循环中传递。首先是 0(因为我输入的时间是 1 月),然后是 1,依此类推。下个月二月时,该循环将从该日期开始。 1、2 等

    int thisMonth = Calendar.getInstance().get(Calendar.MONTH) + 1;

cal = Calendar.getInstance();
df = new SimpleDateFormat("MMM yyyy", Locale.ENGLISH);
cal.set(Calendar.MONTH, month + thisMonth);

String sMonth = df.format(cal.getTime());

在第一个循环中,sMonth 是 2015 年 3 月。在第二个循环中,sMonth 是 2015 年 3 月。在第三个循环中,sMonth 是 2015 年 4 月。在第四个循环中,sMonth 是 2015 年 5 月。..等等

如您所见,第一个月不是预期的二月。我相信今天是 1 月 29 日,所以这可能有一些原因,因为我们离二月已经很近了。但如果是这样的话,为什么会发生两次呢?

我知道,由于我不使用 unix 时间戳,所以事情并不准确,是否有办法计算这个,至少可以得到准确的月份排序?

最佳答案

由于今天是 30 号,您将获得当前日期 (2015-01-30),并增加月份以获得 2015-02-30 - 由于 2 月份不会“滚动”到 2015-03-02没有 30 天的时间。

避免此问题的一种方法是在更改月份之前将日期设置为 1。

关于java - 日历月份实例减少了一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28227232/

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