Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Visual Basic time functions

Tontsa-san [05.04.2008 12:17:52]

#

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.

Mobel [05.04.2008 13:15:47]

#

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.

setä [05.04.2008 16:08:58]

#

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")

Tontsa-san [05.04.2008 16:54:57]

#

Katsoppa vain, tuohan olisi pitänyt itsekin tajuta.

Kiitos kuitenkin molemmille, käytän sitä tapaa, minkä parhaaksi näen. :)

groovyb [08.04.2008 07:19:54]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta