Date (int year, int month, int day) spinnt rum, oder spinne ich?

  • Hallo liebe Forengemeinde!


    Ich möchte mir ein selbst festgelegtes Datum (01.07.2011 12:00 Uhr) über Date () ausgeben lassen.

    Java
    int year = 2011;
    int month = 07;
    int day = 01;
    
    
    Date date = new Date(year, month, day, 12, 00);
    long time = date.getTime();


    Als Datum wird mir nun aber folgendes ausgegeben wenn ich date aufrufe: Tue Aug 01 12:00:00 MEZ 3911 -> also bin ich aufeinmal im Jahr 3911 oO
    Und time gibt mir folgendes aus: 61270340400000, wenn ich die Parameter in Date () weglasse stimmt alles und mir wird der aktuelle Zeitpunkt korrekt ausgegeben.
    Laut der Android Reference mach ich doch aber alles richtig?


    Vielen Dank für eure Hilfe,
    Lukas

  • Ahh alles klar danke :)


    Eine Frage hätte ich da noch: Ist es normal dass man Variablen vom Typ long keine 11-stelligen Werte zuweisen kann?
    long time = 12345678912; -> bekomm ich immer einen Fehler. Aber wie oben im Quellcode angegeben funktioniert es ja auch mehr als 10-stellige Werte zu übergeben.

  • Ja, das l ist wichtig, sonst wird die Zahl vom Compiler als int interpretiert und gibt nen Fehler. Ist der gleiche Mechanismus, warum 0.5 und 0.5f nicht das selbe sind für den Compiler (erstes is double, zweites is float).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!