日期格式问题,String未被识别为有效的DateTime

时间:2013-05-28 17:20:06

标签: c# asp.net

我从数据库获取日期,我想以dd / MM / yyyy格式转换日期,

我正在尝试这个,但它给了我错误“字符串未被识别为有效的DateTime。”

DateTime pDate = DateTime.ParseExact("05/28/2013 12:00:00 AM", "dd/MM/yyyy", CultureInfo.InvariantCulture);

请告诉我如何转换成dd / MM / yyyy格式?

由于

3 个答案:

答案 0 :(得分:5)

尝试使用MM/dd/yyyy hh:mm:ss tt代替dd/MM/yyyy

如果您使用DateTime.ParseExact 字符串表示的格式必须与指定的格式完全匹配,否则会抛出异常。

如果您只需要日期

DateTime pDate = DateTime.ParseExact("05/28/2013 12:00:00 AM", "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
var dateOnly= pDate.ToString("dd/MM/yyyy");

根据您的评论,数据库包含类型为“日期”的数据,因此您可以直接将其作为DateTime阅读。您可以通过使用预期的格式调用ToString来转换为字符串。

答案 1 :(得分:3)

2个步骤:

DateTime pDate = DateTime.ParseExact("05/28/2013 12:00:00 AM", "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture);


return pDate.ToString("dd/MM/yyyy");

答案 2 :(得分:-1)

DateTime d = DateTime.Parse( 
   "15/12/2019",
   new System.Globalization.CultureInfo("pt-BR"));

参考https://blog.submain.com/string-was-not-recognized-as-valid-datetime/