Timestamp - Timestamp

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich habe einen Zeitpunkt (fest in die source geschrieben) und möchte die Zeit die seit dem Vergangen ist anzeigen:

(Festgelegter Timestamp - Aktueller Timestamp)

Folgende Methode spuck aber nur mist aus. Findet ihr Fehler?

Code:
    private static void timer() {
        Date cherrydate = new Date();
        Date toDisplay = new Date();
        Date now;
        String labeltext;
        DateFormat format = new SimpleDateFormat();
        cherrydate.setTime((1182340800*1001));
        while(true) {
            try {
                
                Thread.sleep(1000);
                now = new Date();
                toDisplay.setTime(now.getTime()-cherrydate.getTime());

                format = new SimpleDateFormat("yy");
                labeltext = format.format(toDisplay);
                labeltext += " Jahre ";                
                
                format = new SimpleDateFormat("MM");
                labeltext += format.format(toDisplay);
                labeltext += " Monate ";
                
                format = new SimpleDateFormat("dd");
                labeltext += format.format(toDisplay);                
                labeltext += " Tage";
                
                NeuJFrame.jLabel2.setText(labeltext);
                
                format = new SimpleDateFormat("HH");
                labeltext = format.format(toDisplay);    
                labeltext += " Stunden ";
                
                format = new SimpleDateFormat("mm");
                labeltext += format.format(toDisplay);    
                labeltext += " Minuten ";
                
                format = new SimpleDateFormat("ss");
                labeltext += format.format(toDisplay);    
                labeltext += " Sekunden";
                
                NeuJFrame.jLabel3.setText(labeltext);
                
                
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }

        }
    }
 
Der Fehler ist das Falsche ergebnis..

Da kommen utopische Jahreszahlen raus.. in dem Fall jetzt zb: 7 Jahre 11 Monate 10 Tage...
 
Du hast unter anderem das Problem, das Date immer ab 01.01.1970 zählt.

Aber wenn ich doch sage (die Sekunden bis jetzt - die Sekunden bis letzte Woche Freitag 12 Uhr) dann ist das Ergebnis doch unabhängig davon seit wann die Sekunden gezählt werden, solange mein Subtrahent nach 1970 ist.

Ich verstehe einfach nicht was ich falsch mache.


Code:
siehe auch mal bei diesem Kollegen vorbei, falls du es nicht selber bist:

Wie soll mir das helfen?

Eingangsdatum: 1182340800 (wie gesetzt)
Jetziges Datum: 1192888376328
Differrenz: 1191706035528
 
> Wie soll mir das helfen?
hat die gleiche Menge an einzelnen DateFormats, das kann doch kein Zufall sein

> Eingangsdatum: 1182340800 (wie gesetzt)
> Jetziges Datum: 1192888376328
> Differrenz: 1191706035528

echt lesbar, als Date natürich (am besten Date und long)
 
LESEN, wozu such ich denn die Links raus?:
Unter dem Link, den ich geschickt habe ist ein Beispiel für fast genau das was du auch machen willst... aber dafür müsste man mal auf die 2 Seite des Berichts......

Ansonsten rechnest du


(1192888376328)-(1182340800*1001) = 9365235528

Diese 9365235528 sind Millisekunden seit dem 01.01.1970 00:00.
Du bekommst also ein Datum irgendwann im Verlauf des Jahres 1970.



Jetzt lies den kompletten Bericht unter dem Link durch und du hast ein paar Probleme weniger - auch wenns ganze 3 Seiten sind....
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben