2016-04-23 5 views
0

I Datum Format hinzufügen möchten (H: mm: ss: SSS) .Ich habe die folgenden-legen zum Datum (H: mm: ss: SSS) Format

Date time1; 
    Date time2; 
    String result1; 
    SimpleDateFormat formatter; 
    formatter = new SimpleDateFormat("H:mm:ss:SSS"); 
    time1 = new Date(0,0,0,0,0,5); 
    time2=new Date(0,0,0,0,0,5); 

die Ausgabe von time1 0:00:05:000. Jetzt möchte ich diese zwei mal hinzufügen und 0:00:10:000 machen. aber time1+time2 ist nicht möglich. Gibt es einen Weg, dies zu tun?

+0

Es ist wirklich nicht, wie Sie Ihre 'Datum egal formatieren 'Objekte für die Ausgabe, sie sind immer noch Daten (nun, sie repräsentieren einen Zeitpunkt, um genauer zu sein). Also, was sollte eigentlich zwei 'Date's Mittel bedeuten? Deine Frage ergibt keinen Sinn. – Seelenvirtuose

+0

Ich brauche die formatierte Ausgabe. Es geht nicht darum, zwei Daten hinzuzufügen. Es geht darum, zwei Nummern dieses Formats hinzuzufügen. –

Antwort

3

können Sie Kalender für Ihre Anforderung verwenden:

Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(new Date()); 
    calendar.set(Calendar.HOUR_OF_DAY,0); 
    calendar.set(Calendar.MINUTE,0); 
    calendar.set(Calendar.SECOND,5); 
    calendar.set(Calendar.MILLISECOND,0); 

    System.out.println(formatter.format(calendar.getTime())); 

    Calendar another = Calendar.getInstance(); 
    another.setTime(calendar.getTime()); 
    another.set(Calendar.HOUR_OF_DAY,0); 
    another.set(Calendar.MINUTE,0); 
    another.set(Calendar.SECOND,calendar.get(Calendar.SECOND)+5); 
    another.set(Calendar.MILLISECOND,0); 

    System.out.println(formatter.format(another.getTime())); 

OUTPUT:

0:00:05:000 
0:00:10:000 

Hier ist die Java-Doc für Calendar

+0

Sie antworten, ist richtig nach meiner Frage. Eigentlich möchte ich eine Schleife verwenden, die die Zeit um 5 Sekunden erhöht. in deiner Art addierst du 5 mit Sekunde. es wäre gut für mich, ich könnte 5 mit dem ganzen Datum nicht nur mit Sekunde hinzufügen. Danke –

+0

Okay. Dazu müssen Sie nur berechnen, wie viele Sekunden Sie hinzufügen müssen, und dann einfach den Kalender verwenden, um die Sekunden hinzuzufügen. – Unknown

+0

Ich habe versucht mit Schleife und keine extra Berechnung für Sekunde benötigt wird. ersetzte einfach den Ausdruck "second +5" durch "second + i" und es kümmerte sich automatisch um Minuten und Stunden. Danke, Mann. –

1

new Date(time1.getTime() + time2.getTime()) sollte den Trick tun.

getTime() gibt die Millisekunden seit dem 1. Januar 1970 00:00:00 GMT zurück.
new Date(0, 0, 0, 0, 0, 0) entspricht 1. Januar 1970, 00:00:00 GMT. Sie haben also im Grunde nur die Millisekunden der 5 Sekunden in time1.getTime() und time2.getTime(), so dass Sie diese einfach summieren und zurück in ein Date-Objekt konvertieren können.

Verwandte Themen