java - java日历分钟设置意外值

标签 java java.util.calendar

我正在尝试创建一个时间间隔,因为起点是当前时间,最小值和最大值是由用户设置的特殊变量(upperBound)计算的。所以代码如下:

private static int upperBound = 1440;
.....
Calendar calendar = Calendar.getInstance();
System.out.println("Now:\t\t\t" + calendar.getTime());
calendar.set(Calendar.MINUTE, -upperBound);
System.out.println("After the change:\t" + calendar.getTime());

输出是:

Now:            Mon Jan 27 14:53:42 EET 2014
After the change:   Sun Jan 26 14:00:42 EET 2014

但我预计(更改后):Sun Jan 26 14:53:42 EET 2014

这里出了什么问题?

最佳答案

您应该使用add()方法,而不是设置

calendar.add(Calendar.MINUTE, -upperBound);

关于java - java日历分钟设置意外值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21381645/

相关文章:

java - 如何检查 xhtml 属性中的日历值是否为 null 或为空

android - Java/Android Calendar,周日增加1周

java - Python 套接字客户端到 Java 套接字服务器

java - 如何将 View 窗口导航到代理

java - 错误: JAVA_HOME is set to an invalid directory in libGDX

java - 这在java或任何其他编程语言中可能吗

java - 输入的第一个数字表示列表java中元素的数量

java - 我在 netbeans 中遇到 jcalender 代码错误

java - 如何在 Java 的 Calendar 类中获取用户输入的日期而不是当前日期?