Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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# 无法将日期时间转换为ISO标准。“错误”;字符串未被识别为有效的日期时间;_C# - Fatal编程技术网

C# 无法将日期时间转换为ISO标准。“错误”;字符串未被识别为有效的日期时间;

C# 无法将日期时间转换为ISO标准。“错误”;字符串未被识别为有效的日期时间;,c#,C#,我有一个名为ProjectLastUpdate的日期时间列,其值为2/22/2020 11:29:52 PM&1/29/2020 12:00:00 AM 我编写了以下代码: DateTime.ParseExact(projectLastUpdate.ToString(), "M'/'d'/'yyyy' 'H':'m':'s", CultureInfo.InvariantCulture).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'") 将日期转换为ISO

我有一个名为
ProjectLastUpdate
的日期时间列,其值为
2/22/2020 11:29:52 PM
&
1/29/2020 12:00:00 AM

我编写了以下代码:

DateTime.ParseExact(projectLastUpdate.ToString(), "M'/'d'/'yyyy' 'H':'m':'s", CultureInfo.InvariantCulture).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'")
将日期转换为ISO标准,但我遇到以下例外情况:

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


未正确指定
ParseExact
函数的
format
参数。您可以将语句更改为:

DateTime.ParseExact(projectLastUpdate.ToString(), "M/dd/yyyy hh:mm:ss tt",
                                                   CultureInfo.InvariantCulture)
                    .ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'");

根据您的代码片段,似乎
projectLastUpdate
string
格式。如果是这样,您本可以避免
ToString()
转换

你为什么兜圈子。你有约会时间。您正在转换为字符串(对ToString进行无参数调用),然后尝试将该字符串解析回DateTime,指定所需的确切格式,然后再次将其转换回DateTime。如果您将它展开成几个语句来告诉错误发生的位置,我希望它是在parsecall上。您对ToString的默认调用可能与您使用的确切格式不匹配specify@Flydog57我必须这样做,因为我将得到的值如下
2/22/2020 11:29:52 PM
。。所以我需要将这个字符串作为一个可理解的日期时间,所以我使用了
DateTime.ParseExact(projectLastUpdate.ToString(),“M'/'d'/'yyyyy''H:'M':'s”,CultureInfo.InvariantCulture)
之后,我使用
.ToString(“yyyy'-'MM'-'dd'T'HH':'MM':'ss'Z')将识别的日期时间转换成ISO标准)
如果您有一个DATETIME字段(列数据类型为DATETIME),则无需将其转换为字符串并对其进行解析以将其转换回日期。只需直接从表中读取它作为日期时间。@KenWhite如果需要它显示ISO格式,则值
2/22/2020 11:29:52 PM
将作为字符串返回,并使用类似“o”或“s”的ISO参数。看看前一段时间在第一条评论中提到了什么我尝试了你的代码,但仍然得到了相同的异常
字符串未被识别为有效的日期时间。
。。以下是
项目最新更新的示例
2022年7月27日11:00:00 PM | 2020年2月23日12:00 AM | 2022年7月27日11:00 PM
。。另外,
projectLastUpdate
是object类型,因此我需要将其转换为字符串。
projectLastUpdate
中有很多日期时间是真的吗?如果是这样,您必须将其分离,然后进行解析。您可以使用拆分在多个日期时间中分隔。不,它只包含一个日期时间。。我只是展示一下我将得到的日期时间样本。。对不起,前后不一致。好的。您能否从数据中再发送几条datetime文本。可能有一个例外。此外,您是在循环中执行此操作的吗?我显示的3 datetime导致了异常。。因此,可以在这3个日期时间内找到问题