Springen naar inhoud


- - - - -
VS 2015

Tijdsweergave 00:00:00

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 2 reacties in dit onderwerp

#1 ON3WVS

ON3WVS

    Starting Developer

  • Leden
  • 21 berichten
    Laatst bezocht 13 aug 2018 21:49

Geplaatst op 27 juni 2018 - 19:42

Hallo,

Ik probeer wat rekensommen uit te voeren met tijd maar ik stoot op het volgende formatting probleem:
Onderstaande code zet de tijd op 23u56 en voert een klein lusje uit waardoor er telkens 1 minuut bij de tijd gerekend wordt en die tijd wordt in een messagebox getoond als "01/01/2016 23:56:00".
Maar als de klok middernacht bereikt dan wordt er dit weergegeven "01/01/2016" omdat mijn tijd 00:00:00 is wordt de tijd gewoon weggelaten. Ik neem aan dat dit ergens iets met formatting te maken heeft, dat ik kan instellen dat er altijd digits getoond worden.

Wat loopt hier verkeerd?


Dim MyTimeDate As DateTime = Format(#01/01/2016 23:56:00#)
Dim MijnTijdDatum As String


        For a = 1 To 5
            MijnTijdDatum = MyTimeDate.AddMinutes(a)
            MsgBox(MijnTijdDatum)

        Next a

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1092 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 27 juni 2018 - 23:40

Bericht bekijkenON3WVS, op 27 juni 2018 - 19:42, zei:

Ik probeer wat rekensommen uit te voeren met tijd maar ik stoot op het volgende formatting probleem:
Onderstaande code zet de tijd op 23u56 en voert een klein lusje uit waardoor er telkens 1 minuut bij de tijd gerekend wordt en die tijd wordt in een messagebox getoond als "01/01/2016 23:56:00".
Maar als de klok middernacht bereikt dan wordt er dit weergegeven "01/01/2016" omdat mijn tijd 00:00:00 is wordt de tijd gewoon weggelaten. Ik neem aan dat dit ergens iets met formatting te maken heeft, dat ik kan instellen dat er altijd digits getoond worden.

Gebruik ToString met een formatstring:

Visual Basic Code:
	Dim tijd =New DateTime(2016,1,1,23,56,0)
	For index = 1 To 5
		tijd = tijd.AddMinutes(1)
		Debug.WriteLine(tijd.ToString("HH:mm:ss"))
	Next


Output:
Code:
23:57:00
23:58:00
23:59:00
00:00:00
00:01:00

Zie DateTime.ToString

Werkt ook met string interpolation
Visual Basic Code:
Debug.WriteLine($"{tijd:HH:mm:ss}")

Of met String.Format:
Visual Basic Code:
Debug.WriteLine(String.Format("{0:HH:mm:ss}", tijd))

Zie ook Custom Date and Time Format Strings

#3 ON3WVS

ON3WVS

    Starting Developer

  • Leden
  • 21 berichten
    Laatst bezocht 13 aug 2018 21:49

Geplaatst op 02 juli 2018 - 22:23

Is gelukt Dirk, nogmaals bedankt voor je hulp!





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)