Ich arbeite derzeit an einer Anwendung, um den Tag des Jahres (1-366) eines bestimmten Datums zu ermitteln. Ich mache das, um Daten zu vergleichen und die zeitlichen Unterschiede zwischen ihnen herauszufinden. Allerdings habe ich derzeit einige Probleme ... Wenn ich das Datum auf den 31. Dezember stelle, heißt es, dass es Tag 361 oder 362 ist (je nachdem, ob ein Schaltjahr vorliegt), und wenn ich es auf den 31. Oktober stelle, heißt es, dass es Tag 302 ist, aber wenn ich es auf den 1. November stelle, heißt es, dass es Tag 311 ist ... Ich kann nicht herausfinden, woher dieser Fehler kommt. Könnten Sie mich vielleicht in die richtige Richtung weisen? Und wie kann ich herausfinden, welcher Wochentag es ist?
Dies ist meine Klasse, um den Tag des Jahres (Doy) zu finden:
Code: Select all
public int finddoy(int month, int day, int year){
int i = 0;
int days=0;
while(i2){days+=1;} }
return days + day;
}
Ich habe gerade mein Programm mit einer Tabelle verglichen, die ich im Internet gefunden habe, und meine Daten sind gestaffelt ... Januar, Februar und Mai sind die einzigen genauen Monate (in Bezug auf die Gesamtzahl der Tage)