Благодаря casperOne's answer, вот моя результирующая функция:Преобразование строки, представляющее время 24H для времени 12H VB.NET
Shared Function FormatDate(ByVal s As String) As String
Dim DT As DateTime
s = Regex.Replace(s, "[^1234567890]", "")
DT = DateTime.ParseExact(s, "HHmm", _
Globalization.CultureInfo.InvariantCulture)
Return DT.ToString("h:mm tt")
End Function
Я читаю базу данных, которая содержит информацию о времени, в формат строки, hh: mm. По какой-то причине я помню встроенную функцию, которую я использовал давно, но для жизни я не могу вспомнить, как это сделать. Поэтому вместо этого я написал эту быструю n грязную функцию:
Shared Function FormatDate(ByVal s As String) As String
'' this function takes a time string from the database
'' and changes it from 24h to 12h
Dim oSplit As String() = s.Split(":"c)
Dim oRet As String = "", suffix As String = ""
Dim hour, minute As String
If CInt(oSplit(0)) > 12 Then
hour = CStr(CInt(oSplit(0)) - 12)
suffix = "PM"
Else
hour = oSplit(0)
suffix = "AM"
End If
minute = oSplit(1)
oRet = String.Format("{0}:{1} {2}", hour, minute, suffix)
Return oRet
End Function
Кто-нибудь знает о конкретной функции, о которой я думаю, имею в виду?
Есть ... есть вопрос? – Randolpho
извините, кликнул сообщение после осознания я не добавил вопрос до конца: P – Anders