日期时间自定义格式 - 将上午/下午显示为大写,而不是上午/下午

Cod*_*eee 3 c# vb.net string

我有一个string包含:2011年12月14日上午9:45(注意"AM"没有大写")

现在我想datetime用它创建一个变量.

我试着看这个,但它与我想要的相反.我也试过这个,但失败了.到目前为止我尝试过的是:

Dim dateNow As DateTime
Dim out As String = "14 Dec 2011 9:45 am"
dateNow = DateTime.ParseExact(out, "d MMM yyyy HH:mm tt", Nothing)
Run Code Online (Sandbox Code Playgroud)

但遗憾的是它不起作用.任何的想法?谢谢.VB.net或C#代码都没关系..

Adi*_*dil 7

您可能需要单个H而不是HH小时是datetime字符串中的单个数字.09如果你有一个HH小时,你应该有一个小时.AM和PM也使用小h 12小时,资本H24小时时间格式,就像1:28 PM13:28 PM

dateNow = DateTime.ParseExact(out, "d MMM yyyy h:mm tt", Nothing)
Run Code Online (Sandbox Code Playgroud)

说明使用下面显示的小时的不同选项.

在此输入图像描述

您可以DataTime 在此处详细了解自定义格式.

  • 资本H为24小时,如下午1:28将是13:28 PM (2认同)