如何在VB.net中将24小时时间转换为12小时为hh:mm AM / PM

时间:2012-06-12 20:56:21

标签: vb.net time string-formatting datetime-conversion

所以,假设我有1400,我想把它转换成下午2:00

我尝试了以下内容:

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

它会给我这个:

  

6/12/2012 02:00:00 PM

我不想要日期部分,我也不需要秒。我需要的只是下午2点

我怎么能实现这个目标?谢谢!

6 个答案:

答案 0 :(得分:13)

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

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

Dim d As DateTime = DateTime.ParseExact(theTime,"HHmm", Nothing);
Dim convertedTime As String = d.ToString("hh:mm tt")

答案 1 :(得分:1)

Dim theTime = New Date(2012, 6, 12, 14, 0, 0)
Dim formatted = theTime.ToString("h:mm tt", Globalization.CultureInfo.InvariantCulture)

Custom Date and Time Format Strings

答案 2 :(得分:1)

Label1.Text = Format(Now, "hh:mm"):Label1的文字= 10:26(或任何时间)

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

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

答案 3 :(得分:1)

Label1.Text = Now.ToShortTimeString.ToString()   (10:26 PM)

Label1.Text = Now.ToLongTimeString.ToString()    (10:26:30 PM) 

答案 4 :(得分:0)

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

选项1 (使用standard date and time format strings):

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

选项2 (使用custom date and time format strings):

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

答案 5 :(得分:0)

试一试......

  Dim TimeNow As String
  TimeNow = TimeOfDay.ToString("h:mm:ss tt")