Niin että mulle annettiin sellanen tehtävä, että siinä syötetään oma aika, sitten aikaeron suunta (-/+) ja sitten aikaero... mutta en tajua tätä: jos aikaero on esim -7h ja oma aika on 02:00 niin miten sen saa tehtyä niin, että se aika ei ole vain 0? siis ei näin:
if (aika < 0) aika = 23;
koska tuolloin siitä tulee aina 23 tai 00.. pitäisikö pienentää vähennettävää arvoa aina joka kerran jälkeen silmukassa ja sen jälkeen muuttaa se esim. 23 ja sitten vähentää loput?
Lisää aikaan aikaero (esim. -7). Sen jälkeen tarkista, onko aika < 0. Jos on, lisää aikaan 24. Jos aika on sen sijaan >= 24, vähennä 24. Muussa tapauksessa ei tarvitse tehdä mitään.
Kiitos, tuo olikin hieman helpompi tapa tehdä, kuin tuo silmukassa vähentäminen :D
itse muuntaisin varmaan unixajaksi niin sillon olisi helppo vertailla
mikä on unixaika?
hmm... miten hyödyntäisin tuota unixaikaa?
Tommittaja kirjoitti:
hmm... miten hyödyntäisin tuota unixaikaa?
Mitä jos sinulla on kasa sekunteja, josta pitää vähentää vaikka tuo 7 tuntia. Miten voit sekunneista vähentää tunteja? Vastaus pitäisi olla selviö, mutta väännetään ratakiskosta.
1 tunti [h] = 60 minuuttia [min] 1 min = 60 sekuntia [s] muuntoSuhde = 60 * 60 = 3600
Eli kun meillä on siis läjä sekunteja vaikkapa 1237664142, niin vähennetään tuosta 7 tuntia.
int sekunnit = 1237664142; int muuntoSuhde = 3600; int aika = -7; int uusiAika = sekunnit + (aika * muuntoSuhde); /* Ei ole pakko laittaa sulkuja */ system.out.println(uusiAika);
aa... ok, taidan ensin yrittää tuolla 24 ja 60 lisäämisellä.. ;P
Aika hommiin kannattaa käyttää Calendar luokkaa ja sen metodeja...
juu, mutta tahdon ENSIN oppia tekemään itse, sitten vasta opettelemaan valmiita metodeita ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.