下面的代码显示了已解析的Date
对象的文本以及静态字段Calendar.MINUTE
。有人可以告诉他们为什么会有所不同吗?
docs说它应该将当前分钟值作为int。
编辑:删除了图片,更新了代码/结果。
public class Testerson {
public void print()
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm");
System.out.println("Date time = " + sdf.format(new Date()));
System.out.println("Calendar Minute = " + Calendar.MINUTE);
}
public static void main(String[] args) throws ParseException
{
Testerson test = new Testerson();
test.print();
}
}
输出为
Date time = 08/04/2018 05:49
Calendar Minute = 12
答案 0 :(得分:3)
Calendar.MINUTE
只是一个常数:
public final static int MINUTE = 12;
如果您有Calendar
的实例,则可以将分钟设为calendar.get(Calendar.MINUTE)
。
答案 1 :(得分:1)
您没有指定日期格式中指定秒数的分钟数。
你的约会时间是“dd / MM / yyyy hh:ss” 它应该是“dd / MM / yyyy HH:mm”
答案 2 :(得分:0)
Calendar有一个名为MINUTE的静态常量字段。 你打印那个常数!该值与该日期对象无关。
答案 3 :(得分:0)
使用Calendar.get(Calendar.MINUTE)
代替
答案 4 :(得分:0)
Calendar.MINUTE
是常量(static final
)。因为,它是一个常数,它不可能给你当前的分钟,因为它应该每时每刻都改变它的价值。因此,你的理解是错误的。
文档说是一个字段编号来获取和设置分钟。您需要使用它从日历实例中提取分钟值,如下所示:
calendar.get(Calendar.MINUTE)