Zeitspanne mit Date und DateFormat

Status
Nicht offen für weitere Antworten.

L-ectron-X

Gesperrter Benutzer
Ich möchte gerne die Zeit messen, die ab einem Zeitpunkt vergangen ist.

Code:
import java.text.*;
import java.util.*;

public class TestMessung {
   private DateFormat df;
   private Date date;
   
   public TestMessung() {
      df = new SimpleDateFormat("D 'Tage' H 'Std' m 'Min' s 'Sek'");
      date = new Date(10000);
      System.out.println(df.format(date));
   }

   public static void main(String[] args) {
      new TestMessung();
   }
}

Ausgabe: 1 Tage 1 Std 0 Min 10 Sek

Warum?
 

Bleiglanz

Gesperrter Benutzer
bis auf die 1 Std ist ja alles klar (January 1, 1970, 00:00:00 GMT plus
10000 millisekunden = 10 Sekunden)

könnte ein Zeitzonenproblem sein, ist es auch...

System.out.println(new java.util.Date(10000));

liefert

Thu Jan 01 01:00:10 CET 1970
 

L-ectron-X

Gesperrter Benutzer
Code:
import java.text.*;
import java.util.*;

public class TestMessung {
   private DateFormat df;
   private Date date;
   
   public TestMessung() {
      df = new SimpleDateFormat("D 'Tage' H 'Std' m 'Min' s 'Sek'");
      df.setTimeZone(TimeZone.getTimeZone("GMT"));
      date = new Date(10000);
      System.out.println(df.format(date));
   }

   public static void main(String[] args) {
      new TestMessung();
   }
}

Ausgabe jetzt: 1 Tage 0 Std 0 Min 10 Sek

Passt immer noch nicht. ???:L
Mache ich generell was falsch?
 

Bleiglanz

Gesperrter Benutzer
passt doch genau

was erwartest du denn??

(es gibt wohl in java nix für "Zeitspannen", nur immer Datumsangaben)
 

L-ectron-X

Gesperrter Benutzer
Wenn ich 24 Stunden vergehen lasse, also:
Code:
date = new Date(86400000);
gibts die Ausgabe: 2 Tage 0 Std 0 Min 0 Sek

Wieso?

Ich muss wohl doch mit Calendar-Objekten arbeiten...
 

L-ectron-X

Gesperrter Benutzer
Ich habs mal so probiert, jetzt läuft es erstmal, wie ich es haben will.
Code:
private Date start, end;
private DateFormat timeformat;
...

public String getTimeDifference() {
   long difference = end.getTime() - start.getTime();
   if(difference < 86400000) { //noch kein Tag vergangen
      timeformat = new SimpleDateFormat("'0 Tage' H 'Std' m 'Min' s 'Sek'");
      timeformat.setTimeZone(TimeZone.getTimeZone("GMT"));
   }
   else { //mindestens ein Tag vergangen
      difference -= 86400000; 
      timeformat = new SimpleDateFormat("D 'Tage' H 'Std' m 'Min' s 'Sek'");
      timeformat.setTimeZone(TimeZone.getTimeZone("GMT"));
   }
   return timeformat.format(new Date(difference));
}
Damit ziehe ich einfach einen Tag ab, wenn mindestens ein Tag vergangen ist und erhalte damit mein gewünschtes Format. Wenn noch kein Tag vergangen ist, lasse ich "0 Tage" anzeigen.

@Bleiglanz: Danke für die Mühe.
 

Bleiglanz

Gesperrter Benutzer
L-ectron-X hat gesagt.:
Wenn ich 24 Stunden vergehen lasse, also:
Code:
date = new Date(86400000);
gibts die Ausgabe: 2 Tage 0 Std 0 Min 0 Sek

Wieso?

Ich muss wohl doch mit Calendar-Objekten arbeiten...

auch das stimmt

am 1.1.1970 um Mitternacht

+ genau ein tag

ist der 2.1.1970 um Mitternacht
 

L-ectron-X

Gesperrter Benutzer
Im Prinzip ging es mir darum, dass, wenn z.B. 3 Stunden vergangen sind, nicht ein ganzer Tag angezeigt wird.
Offensichtlich zeigt er hier den Tag des Jahres an. Jedenfalls scheint meine Lösung (siehe oben) nun zu funktionieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
missy72 Methoden Calendar/Date Countdown Allgemeine Java-Themen 9
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
FRI3ND Datentypen Date-Array sortieren - Text mitnehmen? Allgemeine Java-Themen 7
S Seltsames Ergebnis mit Date-Klasse Allgemeine Java-Themen 6
MiMa Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
M JDBC DATE 0000-00-00 kann nicht ausgegeben werden Allgemeine Java-Themen 3
L Erste Schritte Java Date Format Pattern bestimmten Allgemeine Java-Themen 2
Blender3D AWT Fehlerhafte Zeit bei Calender und Date DateFormat Allgemeine Java-Themen 8
P Date und Time in Java Allgemeine Java-Themen 7
B Swing Date Spinner Allgemeine Java-Themen 2
Grejak Date und SimpleDateFormat Allgemeine Java-Themen 6
D Timestamp to Date, ergibt falsches ergebnis Allgemeine Java-Themen 5
M massenhaft verschiedene Date-Pattern Allgemeine Java-Themen 3
N SimpleDateFormat: Unparseable date Allgemeine Java-Themen 5
Madlip Erste Schritte Probleme mit Date() Allgemeine Java-Themen 6
T String in Date parsen (*ohne* bekanntes Format) Allgemeine Java-Themen 8
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
GianaSisters Klassen Unterschiedliche Zeiten bei DATE Allgemeine Java-Themen 6
Z new Date() liefert falsche Uhrzeit Allgemeine Java-Themen 12
G Calendar/Date arithmetic Allgemeine Java-Themen 3
J Datentypen Problem mit Date-Object Allgemeine Java-Themen 2
B Unix-Timestamp > Date macht Probleme. Allgemeine Java-Themen 3
M Object-Instanz in Date übersetzen Allgemeine Java-Themen 6
E Seltsamer aufruf von java.util.Date.toString() Allgemeine Java-Themen 3
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
Joy String in Date umwandeln Allgemeine Java-Themen 2
K String zu Date kovertieren Allgemeine Java-Themen 3
S Zeitserver Abfragen und in Date speichern Allgemeine Java-Themen 5
0 Datum in Java Date umwandeln Allgemeine Java-Themen 4
C Datum erstellen für SQL Format Date Allgemeine Java-Themen 3
R Moeglichst viele Datumsstrings in Date Objekte konvertieren? Allgemeine Java-Themen 3
B Date Addition Allgemeine Java-Themen 2
H2SO3- Date "18.11.2002 20:02:33" trotz Locale.GERMAN nic Allgemeine Java-Themen 9
H2SO3- Exception beim date parsen des Jahres 00 Allgemeine Java-Themen 6
H2SO3- merken versch. Date Typen + erlaubte und unerlaubte kombinat Allgemeine Java-Themen 4
H2SO3- date mit pm and am parsen Allgemeine Java-Themen 3
G double in Date Allgemeine Java-Themen 5
S Date Objekt von voller Stunde Allgemeine Java-Themen 3
M Date objekt als 00.00.0000 ausgeben Allgemeine Java-Themen 2
MQue Date, Timestamp, Millisecond Allgemeine Java-Themen 3
alexpetri Date Parsen Allgemeine Java-Themen 3
F Problem mit TimeStamp to Date Allgemeine Java-Themen 8
M Date Range auswerten und die Monate berechnen Allgemeine Java-Themen 2
DEvent min. Jahr von Date Allgemeine Java-Themen 2
H Wer kennt sich mit der Klasse Date aus? Allgemeine Java-Themen 3
G Date wird nicht richtig geparsed Allgemeine Java-Themen 3
H zwei Date Variablen überschreiben sich Allgemeine Java-Themen 2
P von Date zu Timestamp Allgemeine Java-Themen 10
H Date in String wandeln un dumgekehrt. Allgemeine Java-Themen 17
P SimpleDateFormat/Date Allgemeine Java-Themen 4
N Date & RMI Problem Allgemeine Java-Themen 3
V Date und Calendar . Allgemeine Java-Themen 3
P sql.Date -> the constructor Date() is undefined! Allgemeine Java-Themen 3
M String nach Date Allgemeine Java-Themen 4
E XML dateTime String in Date mit SimpleDateFormat umwandeln Allgemeine Java-Themen 5
K Date formatieren Allgemeine Java-Themen 7
L String ==> Date ==> GregorianCalendar Allgemeine Java-Themen 3
G Date-Objekt aus Datums-String erstellen Allgemeine Java-Themen 6
F Spezialfrage zu Date Allgemeine Java-Themen 5
B String to Date Allgemeine Java-Themen 7
K Date: getTime immer gleich Allgemeine Java-Themen 4
B Java.Date -> Delphi.TDateTime Allgemeine Java-Themen 4
D Datum und Zeit - Date, Calendar oder GregorianCalender ? Allgemeine Java-Themen 13
P Alter in Jahren aus Date-Objekt ermitteln Allgemeine Java-Themen 5
T Datum als String in Date umwandeln Allgemeine Java-Themen 3
R Date Tage abziehen Allgemeine Java-Themen 3
I java.util.Date - die 1970-Untergrenze Allgemeine Java-Themen 3
T Probleme mit Date und Calendar Allgemeine Java-Themen 7
W Mit Date-Objekten arbeiten Allgemeine Java-Themen 10
R dateFormat - Uhr fängt nicht bei null an Allgemeine Java-Themen 2
R Locale spezifische DateFormat Strings? Allgemeine Java-Themen 3
H2SO3- Warum klappt DateFormat MM.dd.yyyy bei 15.11.2003 Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben