Minä täällä taas. Tällä kertaa ongelmia time funktioiden kanssa. Selitänpä tässä nyt niin kuin parhaiten osaan:
minulla on aika muistissa, esim. 13:37
kello on nyt 13:01
miten saan tämän välin laskettua helpoimmalla mahdollisella tavalla? (sekunneissa?)
(haeskelen siis ainakin PHP:ssa käytettävää mktime funktiota)
Tämä väli pitäisi siis saada selville sekunneissa. Myös pienet esimerkkikoodinpätkät eivät ole pahitteeksi, vaikka ymmärrän kyllä jos linkitätte johonkin oppaisiinkin. Tärkeintä olisi nyt saada selville jokin funktio millä tämä hoituu.
http://www.visualbuilder.com/showCode.php?id=79643&scd_id=2598
Tästä hieman muuntelemalla luulisi onnistuvan.
Ideahan on se, että erotellaan ajasta(esim. aika=13:37 -> h=13, min=37) tunnit ja minuutit. Sitten kerrot tunnit 60(13*60=780), jolloin saadaan muutettua tunnit minuuteiksi. Nyt lisäät tunneista saadut minuutit ja alkuperäiset minuutit keskenään(780+37=817). Tee sama toisellekin ajalle ja aikojen erotus on väliin jäävä aika. Minuutit saa palautettua tunneiksi kulkemalla em. kaava toisin päin.
Simppelisti onnistuu muuntamalla aikamäärät datetyypiksi Cdate-funktiolla, laskemalla erotus, muuntamalla desimaaliluvuksi funktiolla Cdbl ja kertomalla sekuntien määrällä vuorokaudessa.
Siis 86400 * Cdbl(Cdate("13:37") - Cdate("13:01")
Katsoppa vain, tuohan olisi pitänyt itsekin tajuta.
Kiitos kuitenkin molemmille, käytän sitä tapaa, minkä parhaaksi näen. :)
tuota minuutteihin ja tunteihin jakoa ei tartte tehdä laskemalla jos vb.netillä teet
Dim tunnit as integer = my.Computer.Clock.LocalTime.second Dim minuutti as integer = my.Computer.Clock.LocalTime.minute Dim sekunnit as integer = my.Computer.Clock.LocalTime.hour Dim msecond as string = my.Computer.Clock.LocalTime.Millisecond Dim kellonaika as string = my.Computer.Clock.LocalTime.Now
Aihe on jo aika vanha, joten et voi enää vastata siihen.