Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
C# 在c中转换日期格式时出错#_C#_Date Format_Cultureinfo_Datetime Parsing - Fatal编程技术网

C# 在c中转换日期格式时出错#

C# 在c中转换日期格式时出错#,c#,date-format,cultureinfo,datetime-parsing,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).ToSt

我在我的
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");
但是,在运行代码时,出现以下错误:

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


正确的处理方法是什么?

我是如何理解你的问题的

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

“dd/MM/yyyy”(您想要什么)

你把一些东西翻过来了

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


由于
2016-01-24T00:00:00
实际上是一个日期时间的表示,您不需要
ParseExact
,只需
Parse
就可以了。

为什么您要告诉c#期望
dd/mm/yyyyy
格式的字符串,然后传入
yyyyyy-mm-ddThh:mm:ss
?那为什么你希望C#读懂你的心思,找出你真正想要的是什么?我知道这不是正确的方法,但在这种情况下我应该使用什么格式?告诉C#你的输入字符串是什么格式。在您成功解析该输入后,将对输出进行格式化。我尝试了您的示例,但遇到了一个错误:
DateTime模式“m”以不同的值多次出现。谢谢。我应该使用
yyyy-MM-ddThh:MM:ss
IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
var myDate = DateTime.Parse(holDate);
string myFormattedDateString = myDate.ToString("dd/MM/yyyy");