Überprüfen Sie das Datum mit dem heutigen Datum
Ich geschrieben habe etwas code zu überprüfen, zwei Termine, ein start-und ein Enddatum. Wenn das Endedatum vor dem Startdatum ist, wird eine Eingabeaufforderung, die sagt, das Enddatum ist vor dem Startdatum.
Ich möchte auch hinzufügen ein Häkchen, wenn das start-Datum vor heute (heute wie in der Zeit, über die der Benutzer verwendet die Anwendung) Wie kann ich dies tun? ( Datum checker-code unten, auch all dies ist geschrieben für android wenn, dass hat keine Auswirkungen)
if (startYear > endYear) {
fill = fill + 1;
message = message + "End Date is Before Start Date" + "\n";
} else if (startMonth > endMonth && startYear >= endYear) {
fill = fill + 1;
message = message + "End Date is Before Start Date" + "\n";
} else if (startDay > endDay && startMonth >= endMonth && startYear >= endYear) {
fill = fill + 1;
message = message + "End Date is Before Start Date" + "\n";
}
InformationsquelleAutor der Frage Zaask | 2011-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Funktioniert diese Hilfe?
InformationsquelleAutor der Antwort sudocode
Nicht verkomplizieren, dass es sehr viel. Verwenden Sie diese einfache Art und Weise. Import DateUtils java-Klasse und rufen Sie die folgenden Methoden, die einen booleschen Wert zurückgibt.
Weitere Infos finden Sie in diesem Artikel DateUtils Java
InformationsquelleAutor der Antwort Kishath
Mit Joda Time dies kann vereinfacht werden zu:
InformationsquelleAutor der Antwort martin
um zu überprüfen, ob ein Datum ist das heutige Datum, oder prüfen nicht nur für Daten, die nicht die Zeit enthalten, so stellen Sie die Zeit 00:00:00 und verwenden Sie den code unten
Hoffe, es wird helfen....
InformationsquelleAutor der Antwort Milan Shukla
Android bereits hat eine eigene Klasse für diese. Überprüfen Sie DateUtils.isToday(lange)
InformationsquelleAutor der Antwort makata
Die anderen Antworten Ignoriere das entscheidende Problem der Zeitzone.
Den anderen Antworten verwenden, überkommene Klassen.
Vermeiden alte Datum-Zeit-Klassen
Dem alten Datum-Zeit-Klassen gebündelt mit den ersten Java-Versionen sind schlecht konzipiert, verwirrend und lästig. Vermeiden Sie java.util.Datum/.Kalender und verwandten Klassen.
java.Zeit
LocalDate
Für nur-Datum-Werte, ohne Zeit-von-Tag und ohne Zeit-zone, verwenden Sie die
LocalDate
Klasse.Zeit-Zone
Sich bewusst sein, dass während
LocalDate
nicht store ein Zeit-zone, die Bestimmung einen Termin wie "heute" erfordert eine Zeit-zone. Für jeden gegebenen Augenblick, das Datum kann variieren auf der ganzen Welt durch die Zeit-zone. Zum Beispiel, ein neuer Tag dämmert früher in Paris als in Montréal. Einen moment, nachdem midnight in Paris ist immer noch "gestern" in Montréal.Wenn alle Sie haben, ist ein offset von UTCverwenden Sie
ZoneOffset
. Wenn Sie haben ein full-time-zone (Kontinent/region), dann verwenden Sieamp; zoneid
. Wenn Sie möchten, UTC, praktisch konstantZoneOffset.UTC
.Vergleichen ist einfach mit
isEqual
isBefore
undisAfter
Methoden.Können wir überprüfen, um zu sehen, ob heute befindet sich in diesem Datum-Bereich. In meiner Logik gezeigt, hier verwende ich die Halb-Offene Ansatz, wo der Anfang ist inclusivewährend das Ende exklusive. Dieser Ansatz ist üblich in den Datum-Zeit-Arbeit. So, zum Beispiel, eine Woche läuft von Montag, bis zu aber nicht einschließlich der folgenden Montag.
Interval
Wenn Sie arbeiten intensiv mit solchen Zeitspannen, sollten Sie erwägen den ThreeTen-Extra Bibliothek zu Ihrem Projekt. Diese Bibliothek erweitert die java.Zeit-Rahmen, und ist das Testgelände für die möglichen Erweiterungen zu java.Zeit.
ThreeTen-Extra enthält eine
Interval
Klasse mit praktischen Methoden wieabuts
contains
encloses
overlaps
und so weiter.Über java.Zeit
Den java.Zeit framework ist in Java 8 und höher. Diese Klassen verdrängen die lästige alte Vermächtnis Datum-Zeit-Klassen wie
java.util.Date
Calendar
&" = SimpleDateFormat
.Den Joda-Time Projekt, jetzt in Wartungsmodusrät der migration auf die java.Zeit Klassen.
Um mehr zu erfahren, siehe die Oracle Tutorial. Und die Suche Stack Overflow für viele Beispiele und Erklärungen. Spezifikation JSR 310.
Können Sie exchange java.Zeit Objekte direkt mit Ihrer Datenbank. Verwenden Sie eine JDBC-Treiber kompatibel mit JDBC 4.2 oder später. Keine Notwendigkeit für Streicher, keine Notwendigkeit für
java.sql.*
Klassen.Wo erhalten Sie die java.Zeit-Klassen?
InformationsquelleAutor der Antwort Basil Bourque
InformationsquelleAutor der Antwort Vladimir.Shramov
InformationsquelleAutor der Antwort Roberto Rodriguez
Ich nehme an, Sie sind mit ganzen zahlen repräsentieren das Jahr, den Monat und den Tag? Wenn Sie möchten, konsistent zu bleiben, verwenden Sie die Date-Methoden.
InformationsquelleAutor der Antwort Mitch Salopek
anderen Weg, um diese operation:
InformationsquelleAutor der Antwort carlol
Versuchen Sie dies:
InformationsquelleAutor der Antwort Code.IT