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

  • grickle

    grickle

    22 AĞUSTOS 2006
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009
  • Watcher3223

    Watcher3223

    15 Kasım 2007