在c#中的dateformats之间转换时出错

时间:2016-02-22 20:41:48

标签: c# date-format cultureinfo datetime-parsing

我的GridView日期字段中包含以下数据:2016-01-24T00:00:00 在更新该字段之前,我想以“dd / MM / yyyy”格式存储该值。

要做到这一点,我正在做以下事情:

IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
string formattedHolDate = DateTime.ParseExact(holDate, "dd/MM/yyyy", culture).ToString("MM/dd/yyyy");

但是,运行代码时,出现以下错误:

  

字符串未被识别为有效的DateTime。

处理它的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我如何阅读你的问题。

  

2016-01-24T00:00:00(你拥有的)

     

" DD / MM / YYYY" (你想要的)

IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
var myDate = DateTime.Parse(holDate);
string myFormattedDateString = myDate.ToString("dd/MM/yyyy");

你转了一些东西。

  • Parse =从字符串转换为日期(或其他对象,具体取决于实现)
  • ToString - 从对象转换为字符串表示

修改

由于2016-01-24T00:00:00实际上是日期时间的ISO 8601表示,您不需要ParseExact,只需Parse即可。