我正在尝试在字符串“ Aug 8,2019 4:45:19 PM”上使用DateTime.ParseExact。但是我尝试过的所有方法都收到错误消息“字符串未被识别为有效的DateTime”。
我已经尝试过使用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)
我想要的输出是DateTime:
08-08-2019 16:45:19
答案 0 :(得分:0)
@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