SORU
26 Aralık 2010, Pazar


Nasıl Java Tarih aralığı arasında dolaşmak için?

Ben yazmadım başlangıç tarihi belirli bir tarih aralığı ile eylemleri gerçekleştirmesini istiyorum ve bitiş tarihi. Bana bu kullanarak Java ulaşmak için yol gösterici lütfen.

for ( currentDate = starDate; currentDate < endDate; currentDate  ) {



     }

Yukarıdaki kod sadece mümkün olduğunu biliyorum , ama elde etmek istediğim şey göstermek için yapıyorum

CEVAP
26 Aralık 2010, Pazar


JodaTime, ancak bütünlüğü uğruna nice ve/veya API tarafından sağlanan imkanlar isterseniz, burada standart API yaklaşımlar.

java.util.Date ile başlayan durumlar aşağıdaki gibi:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = formatter.parse("2010-12-20");
Date endDate = formatter.parse("2010-12-26");

Java8 üzerinde gelmedin diye: işte java.util.Calendar yaklaşım mirası

Calendar start = Calendar.getInstance();
start.setTime(startDate);
Calendar end = Calendar.getInstance();
end.setTime(endDate);

for (Date date = start.getTime(); start.before(end); start.add(Calendar.DATE, 1), date = start.getTime()) {
    // Do your job here with `date`.
    System.out.println(date);
}

Ve burada Java8 java.time.LocalDate yaklaşımı, temelde tam olarak JodaTime yaklaşım:

LocalDate start = startDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate end = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

for (LocalDate date = start; date.isBefore(end); date = date.plusDays(1)) {
    // Do your job here with `date`.
    System.out.println(date);
}

Yineleme yapmak istersenizherşey dahilson tarih sırasıyla !start.after(end) !date.isAfter(end) kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • monkophile

    monkophile

    25 Temmuz 2007
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011