Anzahl der Tage im jeweiligen Monat eines bestimmten Jahres?
Wie zu wissen, wie viele Tage hat der Monat des Jahres?
String date = "2010-01-19";
String[] ymd = date.split("-");
int year = Integer.parseInt(ymd[0]);
int month = Integer.parseInt(ymd[1]);
int day = Integer.parseInt(ymd[2]);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
int daysQty = calendar.getDaysNumber(); //Something like this
Kommentar zu dem Problem
Was genau ist Ihre Frage?
InformationsquelleAutor der Frage Klausos Klausos | 2012-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Kalender erstellen, setzen Sie das Jahr und den Monat und verwenden
getActualMaximum
Test: versuchen Sie, einen Monat in einem Schaltjahr:
EDIT: Lösung für JAVA 8
@Warren M. Nocos.
Wenn Sie versuchen, mit Java 8 die neuen Datum-und Zeit-API, die Sie verwenden können, java.Zeit.YearMonth Klasse.
Test: versuchen Sie es einen Monat in einem Schaltjahr:
InformationsquelleAutor der Antwort Hemant Metalia
Code für java.util.Kalender
Wenn Sie
java.util.Calendar
ich vermute, Sie wollen:Code für Joda Zeit
Persönlich, aber ich würde vorschlagen, mit Joda Time statt
java.util.{Calendar, Date}
mit zu beginnen, in dem Fall könnten Sie verwenden:Beachten Sie, dass, anstatt das Parsen von string-Werten individuell, es wäre besser, je nachdem, welcher Datum/Zeit-API, die Sie verwenden, zu analysieren. In
java.util.*
könnten SieSimpleDateFormat
; Joda Zeit, die Sie verwenden würden, einDateTimeFormatter
.InformationsquelleAutor der Antwort Jon Skeet
Können Sie
Calendar.getActualMaximum
Methode:InformationsquelleAutor der Antwort Aleks G
java.time.LocalDate
Ab Java 1.8, können Sie die Methode verwenden,
lengthOfMonth
aufjava.Zeit.LocalDate
:InformationsquelleAutor der Antwort Alexandre DuBreuil
InformationsquelleAutor der Antwort zoidbot
In Java8 die Sie verwenden können, erhalten ValueRange aus einem Feld von ein Datum.
Diese können Sie zum parametrieren auf das Feld.
InformationsquelleAutor der Antwort Jamie Lister
InformationsquelleAutor der Antwort madhi vanan
InformationsquelleAutor der Antwort bnr-iiitb
Folgenden Methode werden Sie nicht von Tage in einem bestimmten Monat
InformationsquelleAutor der Antwort Tanmay kumar shaw
Können Sie den Kalender verwenden.getActualMaximum Methode:
Und Monat-1 ist, Denn der Monat hat seinen ursprünglichen Anzahl der Monate, während in der Methode nimmt als argument unten in Calendar.class
Und der (int-Feld) ist wie da unten.
InformationsquelleAutor der Antwort Dharmishtha
Dies funktionierte gut für mich.
Dies ist ein Beispiel für die Ausgabe
InformationsquelleAutor der Antwort Abhinav S Thakur
Dies ist der mathematische Weg:
Für Jahr, Monat (1 bis 12):
InformationsquelleAutor der Antwort Shl
InformationsquelleAutor der Antwort Nodirbek Hasanboev
Die Verwendung veralteter
Calendar
API sollte vermieden werden.In Java8 oder höhere version, diese kann getan werden, mit
YearMonth
.Beispiel-code:
InformationsquelleAutor der Antwort Neng Liu