Wieviele Tage seit dem Datum vergangen sind

Guten Tag,
ich möchte berechnen wie viele Tage vergangen sind seit einem bestimmten Datum.
Sagen wir einfach dem 01.07.2014 wie mach ich es das er mir ausgibt das 32 Tage seit dem vergangen sind?
Wäre echt nett wenn ihr mir helfen könntet.

Mit freundlichen Grüßen
PermanenT
 

Phash

Top Contributor
na, entweder, du machst das mit der Hand (das hat übenden Charakter)
oder du nimmst ne Api

z.B.: Joda Time:
Java:
Date past = new Date(110, 5, 20); // June 20th, 2010
Date today = new Date(110, 6, 24); // July 24th 
int days = Days.daysBetween(new DateTime(past), new DateTime(today)).getDays(); // => 34

oder Java8:

Java:
LocalDate startDate = LocalDate.now().minusDays(1);
    LocalDate endDate = LocalDate.now();
    
    long days = Period.between(startDate, endDate).getDays();
   
   //oder 
    long days2 = ChronoUnit.DAYS.between(startDate, endDate);
 
Zuletzt bearbeitet:
@Phash:
könntest du mir dazu vielleicht was erklären?
z.B. wie ich das jetzt auslesen könnte.
Und was da grade genau passiert?
Damit ich es besser nachvollziehen kann
 

Phash

Top Contributor
was möchtest du auslesen? in days sind die Tage drin. Die Java8 Time Api gibt dir aber nur die Tage an (in dem Beispiel)
ich müsst nachschauen, wie man die kompletten Tage rauskriegt, aber das kannst du sicher googlen.


schreibs in deinen Code... da kansnt du es doch auslesen - und geh in die Methoden rein, die dich interessieren, um zu schauen, was sie machen
 

valentina2013

Bekanntes Mitglied
hey,

die gleiche aufgabe hatte ich auch mal :)
Java:
public class TageSeit2
{

 public static void main(String[] args)
{
        int anzahl = args.length;               //um zu  prüfen wieviele Argumente übergeben wurden  Tage Monat Jahr
        int tage = Integer.parseInt( args[0] );  // Umwandlung der kommandozeilenstrings in die entsprechenden int-Werte
        int monat = Integer.parseInt( args[1] );
        int jahr = Integer.parseInt( args[2] );


        if((anzahl!=3)||(tage<1)||(tage>31)||(monat<1)||(monat>12))   //auschliessen dass mehr als drei Argumente übergeben werden,dass tage und monate ungültige werte anehmen
                          System.out.printf("Ungültige  Eingabe! Erforderliches Eingabeformat:TageSeit [Tage][Monat][Jahr] %n  Ein Monat hat höchstens 31 Tage %nEin Jahr hat höchstens 12 Monaten%n ");
      else // wenn die eingaben korrekt sind 
   {{
        int[] erlaubteTageImMonat={31,28,31,30,31,30,31,31,30,31,30,31};//Initialisierung  mit der Anzahl der  Tagen im monat. Schließt  die Eingabe von 
                                                                        // nicht korrekten  Zahl der Tage im monat aus

                if ((jahr%4==0))//&&(jahr%400==0)&&(jahr%100!=0));                        
                //ausnahme für ein Schaltjahr,Februar hat 29 Tage
                 erlaubteTageImMonat[1]=29;

                   if(erlaubteTageImMonat[monat-1]>=tage)             //ausschließen dass die eingegebene Tage der erlaubten Anzahl überschreitet
      {
        int[] tageLaufendesJahr= {0,31,59,90,120,151,181,212,243,273,304,334,365};  // Initialisierung mit den tagen bis dato
        int gesamteTage=jahr*365;                                                  //berechnet die Tage der ganzen Jahre die vergangen sind
        int ganzeTageMonat= tageLaufendesJahr[monat-1] + tage;                    //Gehe einen Monat zurück und berechne die Tage bis dahin, addiere anschliened die Tage des laufenden Monats
        int vorErgebnis=ganzeTageMonat+gesamteTage;                           //addiere auf diesen Wert die Gesamtzahlt der Jahre * 365 dann hast du die tage seit dem 1.1.0 ohne Korrektur

        int ersteKorrektur= jahr / 4 ;              // wieviele Schaltjahre gibt es
        int zweiteKorrektur=jahr / 100;             // wenn das Jahr durch 100 teilbar handelt es sich nicht um ein Schaltjahr
        int dritteKorrektur=jahr/400;             //wenn das Jahr durch 400 teilbar ist handelt es sich um ein Schaltjahr
        int gesamtErgebnis = vorErgebnis +ersteKorrektur-zweiteKorrektur-1+dritteKorrektur ;    // -1 weil nicht vom 00.01.0000 sondern vom 01.01.0000 gerechnet wird;  

          System.out.println("Es sind " + gesamtErgebnis + " Tag(e) seit dem 01.01.0000 vergangen");
              }
 else
                   System.out.printf("Falsche Eingabe! Der %d. Monat (In dem Jahr %d) hat höchstens "+erlaubteTageImMonat[monat-1]+" "+"Tage%n", monat, jahr );

                     }
                        }
                            }
                                }
Hoffe kannst alles nachvollziehen;););)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M wieviele Tage der Monat X hat Java Basics - Anfänger-Themen 2
J Wieviele threads? Java Basics - Anfänger-Themen 9
H Wieviele Objekte gleichzeitig sind sinnvoll? Java Basics - Anfänger-Themen 4
B Wieviele bits belegen die Datentypen? Java Basics - Anfänger-Themen 2
G Wieviele Zeichen kann ein String maximal speichern? Java Basics - Anfänger-Themen 3
K Wieviele Befehle pro .java Datei Java Basics - Anfänger-Themen 4
E wieviele objekte am heap?? Java Basics - Anfänger-Themen 14
S Stunden/Tage Countdown Java Basics - Anfänger-Themen 9
sserio Gregorianischer Kalender und dessen Tage. Java Basics - Anfänger-Themen 14
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
M Rekursion Tage Ansteckung gesamte Bevölkerung Java Basics - Anfänger-Themen 15
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
M Wochentag ermittel und ggf tage abziehen Java Basics - Anfänger-Themen 4
Bluedaishi Einen Betrag X auf X Tage verteilen Java Basics - Anfänger-Themen 14
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
T Jahre, Monate, Tage, Stunden, Minuten Java Basics - Anfänger-Themen 1
S Erste Schritte Tage zwischen 2 Daten berechnen Java Basics - Anfänger-Themen 6
F Für Abgabe vor Feiertagen 3 Tage für Abholung hinzuaddieren Java Basics - Anfänger-Themen 19
S Ein Jahr hat 363,7 Tage ? Java Basics - Anfänger-Themen 2
S Methoden Tage zwischen 2 Daten Java Basics - Anfänger-Themen 19
P System - Tage erkennen ( System Time ?) Java Basics - Anfänger-Themen 3
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
R Tage subtrahieren von einem Date() Java Basics - Anfänger-Themen 6
A GregorianCalendar heute + X Tage Java Basics - Anfänger-Themen 11
S Tage aus zwei Datumsangaben berechnen Java Basics - Anfänger-Themen 3
T Tage Zahlen zuordnen Java Basics - Anfänger-Themen 24
T tage in monate und jahre Java Basics - Anfänger-Themen 9
H Dates "Tage" auf gleichheit prüfen? Java Basics - Anfänger-Themen 4
H Anzahl der Tage von Monat ausgeben Java Basics - Anfänger-Themen 7
N Tage in Jahre, Monate umrechnen Java Basics - Anfänger-Themen 1
B Errechnen(Jahre Monate Tage)von einem Datum zu einem anderen Java Basics - Anfänger-Themen 3
A Verständnisfrage Sekunden/Tage Umrechnung Java Basics - Anfänger-Themen 3
I Tage ermitteln Java Basics - Anfänger-Themen 4
G Altersberechnung falsch auf 1-2 Tage Java Basics - Anfänger-Themen 3
DStrohma Millisekunden umwandeln in Jahre, Monate, Tage, Stunden Java Basics - Anfänger-Themen 5
G Differenz in Tage Java Basics - Anfänger-Themen 3
T Bestimmte Tage ausschließen Java Basics - Anfänger-Themen 6
T Datum+ 100 Tage Java Basics - Anfänger-Themen 23
S zu einem Datum Tage addieren Java Basics - Anfänger-Themen 2
W Tage im Monat Java Basics - Anfänger-Themen 3
S Calendar.set Time, Ermittlung der Anzahl Tage fehlerhaft Java Basics - Anfänger-Themen 9
X 14-Tage Testversion erstellen? Java Basics - Anfänger-Themen 15
U tage ausrechnen Java Basics - Anfänger-Themen 4
G HILFE!!! JEDER MONAT HAT 31 TAGE Java Basics - Anfänger-Themen 2
J Datum, Tage herausfinden Java Basics - Anfänger-Themen 2
G Seit Java6 wird der Text von komponenten komisch dargestellt Java Basics - Anfänger-Themen 11
S paint() direkt auf JFrame seit 1.5 nicht mehr möglich? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben