C# 字符串未被识别为具有相同格式的有效日期时间

C# 字符串未被识别为具有相同格式的有效日期时间,c#,datetime,C#,Datetime,我有这个字符串:2019年1月2日13:00:00 我只想得到2019年1月2日,所以我做到了: var date = DateTime.ParseExact(match.datetime.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture).Date.ToString(); 注意:match.datetime包含值2019年1月2日13:00:00 但我得到了这个错误: 字符串未被识别为有效的日期时间 用于解析的24

我有这个字符串:2019年1月2日13:00:00 我只想得到2019年1月2日,所以我做到了:

var date = DateTime.ParseExact(match.datetime.ToString(), "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture).Date.ToString();
注意:match.datetime包含值2019年1月2日13:00:00

但我得到了这个错误:

字符串未被识别为有效的日期时间


用于解析的24小时时间由HH表示,而不是HH

试着这样做:

DateTime.ParseExact("02/01/2019 13:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture)

用于解析的24小时时间由HH表示,而不是HH

试着这样做:

DateTime.ParseExact("02/01/2019 13:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture)

问题在于,在您的格式dd/MM/yyyy hh:MM:ss中,您使用hh指定了12小时表示,但您的输入超出了该范围:13:00:00。

问题在于,在您的格式dd/MM/yyyy hh:MM:ss中,您使用hh指定了12小时表示,但您的输入超出了该范围:13:00:00。

match.datetime本身是System.datetime吗?如果是,您可以使用Console.WriteLinematch.datetime.Date获取短格式;为什么将datetime格式化为字符串只是为了将其解析回datetime?@Amy just learning exercise..@Baklap4这也将使00 partIs match.datetime成为System.datetime本身?如果是,您可以使用Console.WriteLinematch.datetime.Date获取短格式;为什么将日期时间格式化为字符串,只是为了将其解析回日期时间?@Amy just learning exercise.@Baklap4这也会给出00部分