Hallo hab ein kleines problem und zwar ich würde gerne eine zeit z.b. 10:15 was ein String ist in zwei int werte konvertieren also int 10 für stunden und int 15 für minuten wie mache ich das am besten?
hmm, ich wüsste nicht, dass irgendeine Spezielle Klasse direkt Uhrzeiten einlesen würde, GregorianCalender rechnet afaik eher rum, parst aber nichts.
Musst du wohl selbst irgendwie mit String#split(":") am doppeltpunkt trennen, und dann einzeln mit Integer.parseInt() die beiden ziffernfolgen in Zahlen parsen.
SimpleDateFormat, mit HH:mm als Pattern, wenn man das doch irgendwie als Datum braucht. Ansonsten ist der erwähnte Split toll, aber dann muss man auch noch händisch prüfen, ob die Zeit korrekt ist.
Aaah, da sind ja endlich auch die ganzen "Input-Spezialisten" angekommen.
Danke, ich werde versuchen es mir zu merken. (Morgen ist das wohl wieder vergessen, weil ich das eh nie brauche^^)
Nein, im Durchschnitt wohl ganz und gar nicht. Aber "Uhrzeit" assoziert sich bei mir sehr schnell mit "Terminplanung" und das wiederum mit "Bänker" bzw. "Bestattungsunternehmer". Sowas ödet mich dann aber so extremst an, dass ich das wohl niemals freiwillig in meiner Freizeit programmieren würde :autsch:
Zeitloses ist mir schon wesentlich lieber. Nicht so stressig.
Edit: Nein, es ist eigentlich wesentlich einfacher, ich hasse einfach die Zeit, diese blöde bitch^^
Es geht hier nicht um Zeit (im Sinne Datum, also "zehn Uhr fünzehn"), sondern um Dauer (also "zehn Stunden und fünfzehn Minuten"). An dieser Stelle ist ein DateFormat keine gute Idee. Es soll ja schließlich auch "136:00" ("einhundertsechsunddreißig Stunden") ausgewertet werden können, oder?
// EDIT: Zum selber bauen: [post=477568]formatDuration[/post]
Zum nachnutzen: [post=485897]DurationFormatUtils[/post]
Neine es geht schon um die zeit ..... also z.b. 10 uhr 15 10:15 also es geht eigentlich darum ich hab den string z.b. 10:15 und will eine zeit z.b. 90 min also int dazuzählen und dann wieder als string ausgeben hab hier mal was
public String getend() {
String split[] = time.split(":");
int min = Integer.parseInt(split[0]);
int hour = Integer.parseInt(split[1]);
int minsum = hour * 60 + min;
int end= datetime.DateTimeUtil.timeFromMinsOfDay(minsum);
return end.tostring;
}
public static Time timeFromMinsOfDay(int minsOfDay) {
int hour = (minsOfDay / 60) % 24;
int min = minsOfDay % 60;
return new Time(hour, min);
}
public String toString() {
return String.format("%1$02d:%2$02d", getHour(), getMin());
}