10

所以假设我有 1400,我想将其转换为 2:00PM

我尝试了以下方法:

Dim convertedTime As String = DateTime.ParseExact(theTime,"HHmm", Nothing)

它会给我这个:

2012 年 6 月 12 日下午 02:00:00

我不想要日期部分,我也不需要秒。我只需要下午 2:00

我怎么能做到这一点?谢谢!

4

8 回答 8

17

ParseExact方法返回一个DateTime值,而不是字符串。如果将其分配给字符串变量,您将自动转换它,它使用标准格式。

如果您希望它采用特定格式,则将DateTime值格式化为字符串:

Dim d As DateTime = DateTime.ParseExact(theTime,"HHmm", Nothing);
Dim convertedTime As String = d.ToString("hh:mm tt")
于 2012-06-12T21:02:46.260 回答
2

Label1.Text = Format(Now, "hh:mm"): Label1's text= 10:26 (或任何时间)

Label1.Text = Format(Now, "hh:mm tt"): 标签的文字 = 10:26 PM

Label1.Text = Format(Now, "dddd dd, MMMM, YYYY"): Label1 的文本 = 2014 年 8 月 21 日星期四(或任何日期)

于 2013-06-21T00:41:47.403 回答
2
Label1.Text = Now.ToShortTimeString.ToString()   (10:26 PM)

Label1.Text = Now.ToLongTimeString.ToString()    (10:26:30 PM) 
于 2013-09-17T06:46:07.930 回答
1
Dim theTime = New Date(2012, 6, 12, 14, 0, 0)
Dim formatted = theTime.ToString("h:mm tt", Globalization.CultureInfo.InvariantCulture)

自定义日期和时间格式字符串

于 2012-06-12T21:05:34.060 回答
0

试试这个...

  Dim TimeNow As String
  TimeNow = TimeOfDay.ToString("h:mm:ss tt")
于 2014-09-07T15:40:10.050 回答
0

有两种方法可以实现这一点。

选项 1(使用标准日期和时间格式字符串):

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0)
Dim convertedTime As String = 
    theTime.ToString("t", CultureInfo.CreateSpecificCulture("en-us"))

选项 2(使用自定义日期和时间格式字符串):

Dim theTime As DateTime = new DateTime(2008, 4, 10, 6, 30, 0)
Dim convertedTime As String = theTime.ToString("hh:mm tt")

在这两种情况下convertedTime都会6:30 AM

于 2012-06-12T21:03:41.393 回答
0

你可以使用String.Format()没有函数的ParseExtract()函数

VB.NET:-

Dim time As String = String.Format("{0:hh}:{0:mm} {0:tt}", Date.Now) '12:00 PM'
Dim time_1 As String = String.Format("{0:hh}:{0:mm}:{0:ss} {0:tt}", Date.Now) '12:00:25 PM'
Dim time_2 As String = String.Format("{0:mm}:{0:ss}.{0:fff}", Date.Now) '00:25.986 - Mostly Used In Stopwatches'

CSharp (C#):-

String time = String.Format("{0:hh}:{0:mm} {0:tt}", DateTime.Now); // 12:00 PM
String time_1 = String.Format("{0:hh}:{0:mm}:{0:ss} {0:tt}", DateTime.Now); // 12:00:25 PM
String time_2 = String.Format("{0:mm}:{0:ss}.{0:fff}", DateTime.Now); // 00:25.986 - Mostly Used In Stopwatches

以上代码为示例,您可以使用以上代码进行实验/观察/制作应用程序

于 2022-02-08T06:02:59.027 回答
-1
stackoverflowuser: 
You Can Use String.Format() Function Without ParseExtract() Function

VB.NET:-

Dim time As String = String.Format("{0:hh}:{0:mm} {0:tt}", Date.Now) '12:00 PM'
Dim time_1 As String = String.Format("{0:hh}:{0:mm}:{0:ss} {0:tt}", Date.Now) '12:00:25 PM'
Dim time_2 As String = String.Format("{0:mm}:{0:ss}.{0:fff}", Date.Now) '00:25.986 - Mostly Used In Stopwatches'
CSharp (C#):-

String time = String.Format("{0:hh}:{0:mm} {0:tt}", DateTime.Now); // 12:00 PM
String time_1 = String.Format("{0:hh}:{0:mm}:{0:ss} {0:tt}", DateTime.Now); // 12:00:25 PM
String time_2 = String.Format("{0:mm}:{0:ss}.{0:fff}", DateTime.Now); // 00:25.986 - Mostly Used In Stopwatches
Above Codes Are Examples, You Can Use Above Codes To Experiment/Observe/Make Applications With It

您还可以在以下情况下使用:

VB.NET:-

Label1.Text = String.Format("{0:hh}:{0:mm} {0:tt}", Date.Now) 'Display: 12:00 PM'

CSharp (C#):-

label1.Text = SString.Format("{0:hh}:{0:mm} {0:tt}", DateTime.Now); // Display: 12:00 PM

您将在 VB.NET 和 C# 中的任何标签中获得格式化的计时

于 2022-02-08T06:31:04.010 回答