Makube, toto trivialni cviceni jsem nechat na autorovi ;-) Ale aspon vsichni vidi, ze udelat si neco jednoducheho rucne je rychlejsi nez to Googlovat :-D Akorat bych to udelal:
return (Integer.parseInt(p[0])*60+Integer.parseInt(p[1]))*60+Integer.parseInt(p[2]); Protoze prechod na milisekundy je pak jednodussi. Uznavam ale, ze by to mozna slo na ukor citelnosti. Mne to sice citelne prijde, ale mozna ze ne kazdemu. 2010/3/8 Martin Kuba <[email protected]>: > Souhlasím s Otou. Tyhle řetězce nevyjadřují čas od půlnoci > dané časové zóny, ale čas od začátku závodu. Takže třídy v java.util a > java.text > jsou pro to zcela nevhodné. > > Vzhledem k tomu, že vhodná třída pro tenhle typ údaje je > org.joda.time.Duration, > ale ta nemá parsování, udělal bych prostě tohle: > > public static void main(String[] args) { > String t1 = "00:30:10"; > String t2 = "00:40:20"; > int timeInSeconds = parseDuration(t2)-parseDuration(t1); > System.out.println("timInSeconds = " + timeInSeconds); > } > > private static int parseDuration(String t1) { > String[] p = t1.split(":"); > return > Integer.parseInt(p[0])*3600+Integer.parseInt(p[1])*60+Integer.parseInt(p[2]); > } > > Makub > > Oto Buchta napsal(a): >> No nevím. Podle mého je nejjednodušší cestou vlastní triviální parser, >> který ze stringů udělá milisekundy. >> Pomocí String.split(), Integer.parseInt() a operace násobení. >> >> 2010/3/7 danisevsky <[email protected]>: >>> diky, toto: >>> >>> Date date3 = new Date(date1.getTime() - date2.getTime() + >>> date1.getTimezoneOffset()*60000); >>> >>> funguje, ale metoda getTimezoneOffset() je deprecated a navic jsem k >>> java.util.Date ztratil duveru, protoze teto tride a jeji praci s casem vubec >>> nerozumim. >>> >>> Muj pozadavek je jednoduchy, prijdou mi dva Stringy predstavujici cas ve >>> tvaru "HH:mm:ss" a znamenaji: >>> >>> 1. string = doba za kterou auto ujelo 1. okruh >>> 2. string = doba za kterou auto ulejo 1. okruh + 2. okruh >>> >>> ja potrebuji cisty cas za ktery auto ujelo 2. okruh. > > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Supercomputing Center Brno Martin Kuba > Institute of Computer Science email: [email protected] > Masaryk University http://www.ics.muni.cz/~makub/ > Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 > -------------------------------------------------------------- > > -- Oto 'tapik' Buchta, [email protected], http://tapikuv.blogspot.com
