Klasa Time, wyświetlanie czasu

0

Mam takie pytanie:
metoda getStopTime() zwraca mi obiekt typu Time. Chciałbym wyświetlić wynik w następującej formie hhss. Próbowałem to zrobić przy użyciu metody "format" z klasy SimpleDateFormat, ale prawdopodobnie nie obsługuje ona obiektów Time. Czy ktoś wie jak to zrobić i poprawnie wyświetlić czas. Gdy wyświetlam jako String to co zwraca mi metoda getStopTime() widze same krzaki :] Z góry dzięki za podpowiedzi.
Pozdrawiam.

0

Chodzi ci o Time z java.sql.Time? (
Jesli tak to masz taka metode getDate() (co prawda depracted, ale oczywiscie dziala) otrzymasz typ int ale stad juz blisko do obiektu typ Date ktory to mozesz sobie formatowac za pomoca SimpleDateFormat. A w kodzie to bedzie

Time x = new Time (12, 0, 0); //lub jakies tam pobranie z bazy
int iCzas = x.getDate();
Date data = new Data (iCzas);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd, HH:mm:ss");
System.out.println( formatter.format(data) );
0

Niestety nie chodzi o Time sqlowski ale... Time to Time ;) (chyba)

Powiedzmy ze mamy zmienna int ktora przechowuje nam liczbe sekund np. 361.
Chcialbym to wyswietlic w nastepujacej postaci: 0001 (czyli 0 godzin, 6 min, 1 sec.)

int iCzas = 361;
Date data = new Data (iCzas);
SimpleDateFormat formatter = new SimpleDateFormat("HHss");
System.out.println( formatter.format(data) );

Po odpaleniu czegos takiego zawsze mam wyswietlany wynik 0100 niezaleznie od tego jaka wartosc nadam iCzas. Jak to obejsc?

0

hej
ja zrobiłem:

int iCzas = 361;
iCzas*=1000;
Date data1 = new Date (iCzas);
SimpleDateFormat formatter = new SimpleDateFormat("hhss");
System.out.println(formatter.format(data1) );

iCzas*1000 bo konstruktor Date() pobiera czas w ms, ale nadal pozostaje ta '1' przy godzinie, ale tak długo cyba nie musisz czekać ;) , więc może SimpleDateFormat("mm:ss");
bez tych nieszczęsnych godzin

0

Fakt!!! Nie zauwazylem ze tam sa ms! Dzieki wielkie [browar] Wlasnie sie dziwilem dlaczego nie dziala. Swoja droga ciekawe skad ta 1 tam? To rozwiazanie mi wystarczy, ale wiadomo ze nie jest to do konca ok :)

0

Fakt!!! Nie zauwazylem ze tam sa ms! Dzieki wielkie [browar] Wlasnie sie dziwilem dlaczego nie dziala. Swoja droga ciekawe skad ta 1 tam? To rozwiazanie mi wystarczy, ale wiadomo ze nie jest to do konca ok :)

0

Tak, zgadza sie... z tego co pamietam to chyba po uzyciu setTime trzeba odejmowac jedna godzine... nie wiem dlaczego tak jest, ale dziala :]

0

Trzeba chyba odjąć 2 godziny, ale to dlatego że Java podaje taki czas, jaki jest w Anglii na południku 0 (chyba), a nie czas dla konkretnego regionu jakim jest Polska. Radzę jednak poszukac na necie jak się konwertuje to do czasu regionalnego, bo inaczej jak jakiś polak z USA sobie taki programik odpali to się trochę dziwi bo powinien tam mieć czas według swojej strefy czasowej a nie polskiej. Dlatego odejmowanie na sztywno godziny czy 2 nie jest najlepszym pomysłem. Pozdrawiam

0

przyznaje ze nie wiem z czego wynika ta roznica 1 godz... moze faktycznie ze strefy czasowej. Tylko czy czasami nie jest tak ze czas jest pobierany z maszyny wirtualnej? ... a przeciez tam sa juz te informacje zawarte w jakiej strefie czasowej sie znajdujesz...

0

Ja dokładnie tego nie wiem, ale kiedyś też się nad tym zastanawiałem, aż kiedyś na zajęciach z systemów operacyjnych nauczyciel powiedział nam: w kompie są 2 czasy - jeden regionalny, drugi taki jak w UK. Java jest napisana bardzo uniwersalnie. W końcu nie wiadomo czy programista z jakiś powodów nie będzie potrzebował używać innych stref czasowych. Poza tym może być tak, że kogoś nie interesuje czas według strefy, ale "realny" czas geograficzny. Dlatego podawany jest czas z UK (gdzie czas geograficzny i reginalny jest dokładnie taki sam). Jest gdzieś taka klasa (CelendarCośtam czy jakoś tak, już nie pamiętam), w której jest chyba cała tabela państw i automatycznie pamiętane strefy czasowe. Jest tam równierz Polska. Wystrczy tam podać kraj (czy region), by automatycznie ta klasa zamieniła czas na odpowiedni. Gdzieś na necie był przykład to ilustrujący ale już nie pamiętam gdzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1