java - Java 中的日历类

标签 java calendar

我正在尝试使用日历类打印HOUR_OF_DAY,Minute and Second。 我在代码中使用了以下命令。

  System.out.println(
      Calendar.HOUR+" "+
      Calendar.HOUR_OF_DAY+" "+
      Calendar.MINUTE+" "+
      Calendar.SECOND+" "
      );

它给出的输出如下:

10 11 12 13 

即使我运行了几个小时,它也给出了相同的输出。

我以为它会以 24 小时格式打印当前时间。但我没有得到该输出。

所以我想知道这个 HOUR_OF_DAY, HOUR 应该打印什么。

请澄清。

最佳答案

Calendar.HOURCalendar.HOUR_OF_DAY 等只是用于标识日期/时间的各个方面的常量。它们通常这样使用:

Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);

我无法轻易想到您想要打印出常量本身的任何情况。

现在,即使您使用它,您仍然会通过字符串连接将 int 值转换为 String 值 - 这不知道您想要什么格式,因为您没有明确指定它。不存在“2 位数字格式 int”这样的东西...int 只是一个数字。

您应该研究 DateFormatSimpleDateFormat - 这是使用标准 Java 类库格式化日期和时间的首选方法。 (我个人鼓励您研究 Joda Time 作为更好的日期/时间 API,但这是另一回事。)

例如:

DateFormat formatter = new SimpleDateFormat("HH:mm:ss");
// Prints the current time using 24-hour format
System.out.println(formatter.format(new Date());

关于java - Java 中的日历类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153609/

相关文章:

iOS 9 Beta 5 - 日历隐私访问警报未显示在 iPhone 上,但显示在模拟器上

java - 在Java中显示Excel工作表xlsx中的日期

java - 大文本中的最长公共(public)子串

java - Android - 将数据添加到数据库

java - 使用 Moshi 反序列化可以是两种数据类型之一的字段

java - 保存登录详细信息(首选项)android

Java:这是在特定时区将当前时间作为日历对象获取的正确方法吗?

java - 如何获取犹太历一年中的第几周

java - 谷歌日历 : how to access it on android

datetime - 返回给定年份复活节日期的函数