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 <danisev...@gmail.com>:
>> 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: ma...@ics.muni.cz
Masaryk University             http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
--------------------------------------------------------------

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Odpovedet emailem