获得一年中每一天的所有工作时间

Tun*_*yan 3 java calendar date hour

我需要在给定年份的每一天中每隔一小时在命令行上打印/打印,例如2011年,但我很难用Java编写代码.

有没有人编码过这个问题?

Mar*_*nik 7

这应该工作:

final DateFormat df = DateFormat.getDateTimeInstance();
final Calendar c = Calendar.getInstance();
c.clear();
for (c.set(2011, Calendar.JANUARY, 1, 0, 0, 0);
     c.get(Calendar.YEAR) == 2011;
     c.add(Calendar.HOUR_OF_DAY, 1))
  System.out.println(df.format(c.getTime()));
Run Code Online (Sandbox Code Playgroud)

请注意,例如,输出中的这个微妙之处:

Oct 30, 2011 12:00:00 AM
Oct 30, 2011 1:00:00 AM
Oct 30, 2011 2:00:00 AM
Oct 30, 2011 2:00:00 AM
Oct 30, 2011 3:00:00 AM
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用c.add(c.HOUR_OF_DAY,1); 代替? (2认同)