Den richtigen Wochentag und Monat ermittelnJava

Java-Forum
Anonymous
 Den richtigen Wochentag und Monat ermitteln

Post by Anonymous »

Ich habe eine Aufgabe für meine Klassen:


Die Klasse sollte über Methoden zur Berechnung der Anzahl der Tage zwischen zwei Daten verfügen, den Wochentag zurückgeben und das Tierkreiszeichen für ein bestimmtes Datum angeben.


Und hier ist der Code, den ich geschrieben habe:

Code: Select all

import java.util.GregorianCalendar;

public class Data {
private GregorianCalendar date;

public Data(int year, int month, int day) {
date = new GregorianCalendar(year, month + 1, day);
}

public int differenceInDaysFrom(int year, int month, int day) {
GregorianCalendar tempDate = new GregorianCalendar(year, month, day);
int daysBetween = (int)(tempDate.getTimeInMillis()-date.getTimeInMillis())/(1000 * 60 * 60 * 24);
return Math.abs(daysBetween);
}

public String dayOfTheWeek() {
String[] stringDays = new String[]{ "Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday" };
return stringDays[date.get(GregorianCalendar.DAY_OF_WEEK) - 1];
}

public void zodiacSign() {
int day = date.get(GregorianCalendar.DATE);
int month = date.get(GregorianCalendar.MONTH);

System.out.println(day + " " + month);
}
}
  • Wenn ich das Datum mit YYY\MM\DD initialisiere, funktioniert alles perfekt, wenn ich dayOfTheWeek auf die Daten in der nahen Zukunft überprüfe, aber wenn ich mein Geburtsdatum (1991\11\14) eingebe, wird Mittwoch zurückgegeben, aber ich wurde am Donnerstag geboren.
  • Wenn ich versuche, Tag und Monat zu ermitteln, um das Sternzeichen zu überprüfen, flippt es völlig aus und gibt 0 zurück, wenn ich 11 eingebe (für Monat, Tage funktioniert das gut).
  • Außerdem ... Als ich anfing, mit +1 für Monat zu schwanken, funktionierte sogar „differentInDaysFrom“ nicht mehr richtig

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post