Zaokraglanie czasu

0

Czesc wszystkim

Wraz z kolegami pracujemy nad projektem a ze nie wszyscy pracuja nad projektem jednakowo (kilka osob sie spoznia, wychodzi wczeniej [nie mam mozliwosci tego kontrolowania]) dlatego pisze program do kontroli ilosci godzin przepracowanych przez danego czlonka grupy tylko ze nie jestem zawancowanym programista wiec potrzebuje pomocy.

Jak zaokraglic czas (Przykład): Godzina startowa jest 8:00. Jezeli ktoś przyszedł przed 8 np: 7:50 (sekundy sa zbedne) to czas nie zostanie zaokraglony tylko zacznie mu sie naliczanie od tego czasu, Jezeli ktos przyjedzie miedzy 8:00 a 8:05 to wtedy program "wybaczy" tak krotkie spoznienie i bedzie liczony czas jako 8:00 lecz jezeli ktos przyjedzie po 8:05 to wtedy zostaje mu zaliczony punkt karny to samo z wczesnymi wychodzeniami i nadgodzinami. Gdy wyjdzie np 5-10 minut wczniej zostanie mu to zaokraglone do godziny np 2 i dostanie punkt karny (dla przykladu :)) a gdy zostanie duzej niz 2 powiedzmy 10 minut zostanie mu to zanotowane.

Dziekuje.

0

Proponowałbym nie robić przez "punkty karne" tylko przez normalne liczenie godzin, np. jeśli ktoś przyjdzie o 7:29, to czas będzie liczony od 7:00, a jeśli ktoś przyjdzie o 7:30, to wtedy czas będzie liczony od 8:00, to metoda praktyczniejsza i wygodniejsza. Jakkolwiek byś nie robił najlepiej skorzystać z funkcji wyodrębniania z czasu minuty i instrukcją warunkową skorygowania jej: Należy skorzystać z prostych metod: MinuteOf, modułu DateUtils.
Jednak ja do całego projektu podszedłbym nieco inaczej. Przy jakimś zdarzeniu, np. onCreate, Twojego ukrytego programu, zapisałbym w zmiennej aktualną godzinę i zamieniłbym ją do minut (np. 8:05 = 8*60+5), oczywiście nie możesz stosować czasu londyńskiego gdzie godziny podczas jednej doby powtarzają się!. W kolejnym zdarzeniu, np. onDestroy, zapisałbym w innej zmiennej aktualną godzinę, i również zamienił na minuty, a następnie odjął od niej godzinę (a raczej minutę) rozpoczęcia pracy). Jeśli chcesz to mieć w przejrzystej formie godzin:

czas:=czas div 60;

Pozdrawiam!

0

z tym wlasnie ze ja korzystam z 12h czasu :/ i to wlasnie jest tez problem gdyz nie wspominalem o tym wczesniej za co przepraszam

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