#vb.net #time #format
#vb.net #время #формат
Вопрос:
Я использую эти коды для отображения времени в VB.NET он отображается в формате 24 часов, кроме того, мне это нужно в формате 12 часов
System.DateTime.Now.Hour
System.DateTime.Now.Minute
System.DateTime.Now.Second
пример:
14:12:42
Мне это нужно как :
02:12:42
Спасибо.
Ответ №1:
Используйте строку.Формат. Например:
String.Format("{0:T}", System.DateTime.Now) //02:12:42 PM
String.Format("{0:hh:mm:ss}", System.DateTime.Now) //02:12:42
String.Format("{0:hh:mm:ss tt}", System.DateTime.Now) //02:12:42 PM
Кроме того, этот веб-сайт будет очень полезен в обобщении различных способов использования String.Формат. Имейте в виду, что культура может повлиять на нестандартные форматы. Первый приведенный выше пример использования T
(формат длительного времени) отлично работает на моем компьютере в США. Но если вы скажете:
String.Format(System.Globalization.CultureInfo.InvariantCulture, _
"{0:T}", System.DateTime.Now)
В итоге получается 14:12:42. Последние два примера являются пользовательскими форматами и не зависят от культуры.
Ответ №2:
При использовании объектов DateTime вы можете фактически использовать метод toString () и установить свой формат внутри него.
string currentTime = System.DateTime.Now.ToString("hh:mm:ss");
Ознакомьтесь с этой статьей msdn для большей ясности:
Ответ №3:
Используйте соответствующую строку формата для отображения.
string formatted = myDateTime.ToString("hh:mm:ss");
В этом случае я использовал строку пользовательского формата.
Комментарии:
1. В верхнем регистре MM будет возвращен месяц.
Ответ №4:
1-Используйте регулярное выражение, чтобы получить первые два символа этой строки, т. е. с 23: 11:59 получите 23
2-преобразуйте это число в целочисленный тип
3-теперь проверьте, не больше ли оно 12, и если оно есть, вычтите из него 12 и с помощью string.replace замените старое значение.
Ответ №5:
Попробуйте это…
Dim CurTime As String
CurTime = TimeOfDay.ToString("h:mm:ss tt")