Мне нужно получать / печатать в командной строке каждый полный час каждого дня данного года, например. 2011, но я изо всех сил пытаюсь закодировать его на Java.
Кто-нибудь когда-нибудь кодировал эту проблему?
Мне нужно получать / печатать в командной строке каждый полный час каждого дня данного года, например. 2011, но я изо всех сил пытаюсь закодировать его на Java.
Кто-нибудь когда-нибудь кодировал эту проблему?
Это должно работать:
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()));
Обратите внимание, например, на эту тонкость в выводе:
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
вы можете легко решить эту проблему, используя библиотеку joda-time:
org.joda.time.Hours.hoursBetween(
new org.joda.time.DateMidnight(2012,1,1).toLocalDate(),
new org.joda.time.DateMidnight(2013,1,1).toLocalDate()
).getHours();
Используйте Календарь и циклируйте день за днем, чтобы управлять «Строкой в кавычках», как вам нравится, по необходимому параметру,
Вы можете поместить каждую строку дня (обычно через запятую) в файл