Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用DateTime.ParseExact于2019年8月8日下午4:45:19_String_Vb.net_Datetime_Parsing - Fatal编程技术网

String 使用DateTime.ParseExact于2019年8月8日下午4:45:19

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

我试图在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 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非常感谢,您是对的!我会把答案贴出来。