Sto tentando di implementare senza successo un iteratore di date con l'ora di Joda.
Ho bisogno di qualcosa che mi permetta di ripetere tutti i giorni modulo startDate a endDate
Avete qualche idea su come farlo?Java Joda Time - Implementare un iteratore dell'intervallo di date
risposta
Ecco qualcosa per iniziare. Si consiglia di pensare se si desidera che sia inclusiva o esclusiva, alla fine, ecc
import org.joda.time.*;
import java.util.*;
class LocalDateRange implements Iterable<LocalDate>
{
private final LocalDate start;
private final LocalDate end;
public LocalDateRange(LocalDate start,
LocalDate end)
{
this.start = start;
this.end = end;
}
public Iterator<LocalDate> iterator()
{
return new LocalDateRangeIterator(start, end);
}
private static class LocalDateRangeIterator implements Iterator<LocalDate>
{
private LocalDate current;
private final LocalDate end;
private LocalDateRangeIterator(LocalDate start,
LocalDate end)
{
this.current = start;
this.end = end;
}
public boolean hasNext()
{
return current != null;
}
public LocalDate next()
{
if (current == null)
{
throw new NoSuchElementException();
}
LocalDate ret = current;
current = current.plusDays(1);
if (current.compareTo(end) > 0)
{
current = null;
}
return ret;
}
public void remove()
{
throw new UnsupportedOperationException();
}
}
}
class Test
{
public static void main(String args[])
{
LocalDate start = new LocalDate(2009, 7, 20);
LocalDate end = new LocalDate(2009, 8, 3);
for (LocalDate date : new LocalDateRange(start, end))
{
System.out.println(date);
}
}
}
E 'un po' che ho scritto un iteratore in Java, quindi mi speranza è giusto. Penso che sia più o meno a posto ...
Oh per C# blocchi iteratore, questo è tutto quello che posso dire ...
Grazie, questo mi ha reso la vita almeno il 900% più facile. –
Stavo cercando su google se Joda ha qualcosa da rappresentare per un "intervallo di date" ... Apparentemente no, dal momento che si propone di scrivere il proprio LocalDateRange. – Jonik
@Jonik Joda offre l'interfaccia Interval e le sue varie implementazioni. Tuttavia non sono stato in grado di trovare un'implementazione 'Iterable': forse più complessa ... – Stephan
- 1. Intervallo di date limite in Joda Time
- 2. Utilizzo dell'API Joda Date & Time per analizzare più formati
- 3. Come impostare la proprietà Time in Java utilizzando Joda-Time
- 4. differenza in secondi tra due date usando joda time?
- 5. convert millisecond a Joda Date Time o per zona 0000
- 6. Aggiungere un giorno a Joda-Time DateTime
- 7. Joda Time, Get week days
- 8. Problema di prestazioni con joda-time DateTime.with *()
- 9. Devo usare threeten invece di joda-time
- 10. Get java.util.Date fuori da Joda Time DateTime
- 11. Joda time round to days
- 12. Joda-Time, Ora senza data
- 13. Java Joda Time - download e installazione - passo dopo passo
- 14. Analisi di una data di Twitter con Joda Time
- 15. Joda Time - Ricevi tutte le settimane di un anno
- 16. Controllo intervallo date incluso in tempo Joda
- 17. Come utilizzare Joda-time con java.sql.Timestamp
- 18. Joda Time: Convertire UTC in locale
- 19. Come importare FromString per joda-time?
- 20. Joda Time è deprecato con l'API di data e ora java 8? (java.time)
- 21. Java: come calcolare la differenza di tempo esatta durante l'utilizzo di Joda Time Jar
- 22. Come convertire Joda-Time DateTime in java.util.Date e viceversa?
- 23. Joda Tempo da includere in Java 7?
- 24. php get time date future
- 25. Problemi nel far funzionare Joda-time su Android.
- 26. Cosa c'è che non va nell'API Java Date & Time?
- 27. Come ottenere nomi brevi per il mese in Joda Time?
- 28. Creazione di DATETIME da DATE e TIME
- 29. Eccezione nel thread "main" java.lang.NoClassDefFoundError: org/joda/time/ReadableInstant
- 30. Conto alla rovescia per Natale con Joda-Time
Questo aiuto a tutti? http://stackoverflow.com/questions/847520/java-date-iterator-factory-with-rules-specifying-how-to-calculate-the-intervals – Davis
Se si desidera giorni, si desidera esaminare la classe LocalDate (impostane uno come data di inizio) e fai più giorni per ogni successivo. Ciò eviterà i problemi legati al fuso orario insiti nell'istante. – Yishai