Rubrik: Datum/Zeit und Timer · Datums- und Zeit-Funktionen | VB-Versionen: VB2005, VB2008 | 29.01.09 |
Sekunden schnell in das Format HH:MM:SS umwandeln Dieser Tipp zeigt, wie sich Sekunden sehr schnell und ohne große Umrechenaktionen in das Format HH:MM:SS umwandeln lassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 18.380 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Vor langer Zeit haben wir Ihnen einmal eine Funktion für VB6 vorgestellt, mit der sich Sekunden schnell in das Format HH:MM:SS umwandeln lassen:
Sekunden schnell nach HH:MM:SS umwandeln
Da dieser Code unter VB.NET ohne Anpassungen nicht so ohne Weiteres läuft, möchten wir Ihnen heute zwei Möglichkeiten der Sekundenumwandlung für VB.NET vorstellen.
1. Variante
Wir übernehmen das Wissen aus o.g. Tipp für VB6, d.h. wir teilen die Sekunden durch 1/86400, um weisen das Ergebnis einer Variable vom Typ Double zu. Allerdings müssen wir dann die
FromOADate-Methode des .NET Date-Objekts verwenden, um das Ergebnis ins Format HH:MM:SS umwandeln zu können:
' Sekunden nach hh:mm:ss umrechnen Public Function FormatSeconds(ByVal nSeconds As Long, _ Optional ByVal sFormat As String = "HH:mm:ss") As String Return Date.FromOADate(CDbl(nSeconds * (1 / 86400))).ToString(sFormat) End Function
2. Variante
Über die AddSeconds-Methode des .NET Date-Objekts kann man das ganze auch wie folgt lösen:
' Sekunden nach hh:mm:ss umrechnen Public Function FormatSeconds(ByVal nSeconds As Long, _ Optional ByVal sFormat As String = "HH:mm:ss") As String Return CDate("00:00:00").AddSeconds(nSeconds).ToString(sFormat) End Function
Erweiterung vom WmS (01.02.09):
Möchte man auf die VB-Funktion CDate() verzichten und auch im Code festgelegte Strings vermeiden, so bietet sich auch dieser Einzeiler an:
Public Function FormatSeconds(ByVal nSeconds As Integer) As String Return New TimeSpan(0, 0, nSeconds).ToString End Function
Hier wird allerdings automatisch als Format das der auf dem Computer eingestellten Kultur entsprechende verwendet, in Deutschland also wie voreingestellt hh:mm:ss. Das kann man jetzt sowohl als Vorteil als auch als Nachteil ansehen.