Holen Sie sich den letzten Zeitstempel des aktuellen Monat in Android
Posted: 08 Feb 2025, 13:36
Ich habe versucht, den letzten Zeitstempel in einem gewählten Monat des Jahres auf Android zu bekommen. Also fand ich getactualMaximum () eines Kalenders nützlich; Aber als ich versuchte herauszufinden, was der letzte Zeitstempel von August im Jahr 2016 ist, habe ich eine falsche Anzahl von Tagen, 30 statt 31. < /p>
Ich bin gespannt, was das Problem verursacht hat ... (Vielleicht habe ich einen Fehler gefunden?)
Code: Select all
public static long getLastTimeStampOfCurrentMonth(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(year, month, cal.getActualMaximum(Calendar.DAY_OF_MONTH), 23, 59, 59);
return cal.getTimeInMillis();
}
< /code>
Ich habe eine Lösung für diesen Fall gefunden. Ich nehme den Mindesttag des folgenden Monats minus eines Tages: < /p>
public static long getLastTimeStampOfCurrentMonth(int month, int year) {
Calendar cal = Calendar.getInstance();
cal.set(year,month, cal.getActualMinimum(Calendar.DAY_OF_MONTH)-1, 23,59,59);
return cal.getTimeInMillis();
}