Using DateTime.ParseExact On Aug 8, 2019 4:45:19 PM



我正在尝试在"Aug 8, 2019 4:45:19 PM"的字符串上使用DateTime.ParseExact但是我尝试过的每种方法都收到错误消息"字符串未被识别为有效的日期时间"。

我已经尝试过使用DateTime.Parse,但它给了我一个不准确的时间。

它给了我:

08/08/2019 04:45:19 

而不是:

08/08/2019 16:45:19 

到目前为止,我拥有的代码是:

Import System.Globalization
Dim dateTimeExample As DateTime = Nothing
Dim format As String = "MMM d, yyyy h:mm:ss tt"
Dim provider = CultureInfo.InvariantCulture
Dim text As String = "Aug 8, 2019 4:45:19 PM"
dateTimeExample = DateTime.ParseExact(text, format, provider)

我正在寻找的所需输出是以下日期时间:

08-08-2019 16:45:19

@madreflection在注释中提供了正确的答案。我只需要将"hh"更改为"HH"。我将用 C# 发布答案,但如果您只查看"MM/dd/yyyy HH:mm:ss"的格式,您将看到问题所在。

using System;
using System.Globalization;
namespace DateTimeParse
{
class MainClass
{
public static void Main(string[] args)
{
DateTime dateTimeExample;
String format = "MMM d, yyyy h:mm:ss tt";
CultureInfo provider = CultureInfo.InvariantCulture;
String text = "Aug 8, 2019 4:45:19 PM";
dateTimeExample = DateTime.ParseExact(text, format, provider);
Console.WriteLine(dateTimeExample.ToString("MM/dd/yyyy HH:mm:ss"));
}
}
}

输出:

08/08/2019 16:45:19

最新更新