String 使用DateTime.ParseExact于2019年8月8日下午4:45:19
我试图在2019年8月8日下午4:45:19的字符串上使用DateTime.ParseExact。但我尝试过的每一种方法都会得到一条错误消息,即String未被识别为有效的DateTime 我已经尝试过使用DateTime.Parse,但它返回的时间不准确 它给了我:String 使用DateTime.ParseExact于2019年8月8日下午4:45:19,string,vb.net,datetime,parsing,String,Vb.net,Datetime,Parsing,我试图在2019年8月8日下午4:45:19的字符串上使用DateTime.ParseExact。但我尝试过的每一种方法都会得到一条错误消息,即String未被识别为有效的DateTime 我已经尝试过使用DateTime.Parse,但它返回的时间不准确 它给了我: 08/08/2019 04:45:19 而不是: 08/08/2019 16:45:19 到目前为止,我掌握的代码是: Import System.Globalization Dim dateTimeExample As
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
要获得这种输出格式,您是否将小时指定为hh而不是hh?@halfer非常感谢,您是对的!我会把答案贴出来。