String "X:XX.XXX" in Zeitformat umwandeln


#1
Hallo zusammen,

ich habe zwei Strings, die folgende Struktur haben: "X:XX.XXX", und möchte diese gerne

1.) Konvertieren/Umwandeln --> in ein Zeitformat, um diese zu
2.) Verarbeiten --> Mittelwert der beiden Zeiten bilden

Bsp.
String t1 = "1:49.572";
String t2 = "1:50.168";

(?format? Mittelwert = 1:49.870)

Gibt es da irgendeine einfache Möglichkeit? Oder muss ich mir da was zusammen basteln?

Bin für jeden Hilfe sehr dankbar :)
 

HonniCilest

Erfahrenes Mitglied
#3
Ab Java 8 kannst du mit java.time.LocalTime arbeiten. Nachteil an unterem Beispiel ist, du musst HH zwingend mit aufnehmen. Der Mittelwert wird über einen einheitlichen repräsentativen Wert berechnet, hier nanoOfDay (long).

Java:
package tutorials.de;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class TutorialsLocalTimeExample {
 public static void main(String[] args) {
  DateTimeFormatter formatter  = DateTimeFormatter.ofPattern("HH:mm:ss.SSS");
 
  LocalTime localTime1 = LocalTime.parse("00:01:49.572", formatter);
  LocalTime localTime2 = LocalTime.parse("00:01:50.168", formatter);
  LocalTime localTimeM = LocalTime.ofNanoOfDay((localTime1.toNanoOfDay() + localTime2.toNanoOfDay()) / 2);
 
  System.out.println(localTimeM.format(formatter));
 }
}
 
Zuletzt bearbeitet:
#4
Hi zusammen,

vielen lieben Dank für eure Antworten. Das ist ja super!! Werde ich heute Nachmittag gleich mal so implementieren :)!!

Die Struktur des String Formates werde ich mit einer kleiner Methode anpassen, dann macht das "HH" nichts aus :))
Top! Vielen lieben Dank!!