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

  • Britec09

    Britec09

    4 Mart 2009
  • NCIX Tech Tips

    NCIX Tech Ti

    2 Ocak 2007
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011