我收到错误“字符串未被识别为有效的DateTime”。我尝试了多种格式,但仍然会收到错误消息。我想返回“ 10/31/2019”。
string x = DateTime.ParseExact(
"2019-10-31T09:40:28-04:00",
"yyyy-MM-ddTHH:mm:ss-K",
DateTimeFormatInfo.InvariantInfo).ToString("d");
答案 0 :(得分:1)
格式字符串应为yyyy-MM-ddTHH:mm:ssK
或yyyy-MM-ddTHH:mm:sszzz
。请注意,格式字符串中缺少-
。
答案 1 :(得分:0)
不确定-K在做什么,在那里需要zzz。
“ yyyy-MM-ddTHH:mm:sszzz”应该是您的格式化程序。
答案 2 :(得分:0)
这行得通。
string x = DateTime.ParseExact("2019-10-31T09:40:28-04:00", "yyyy-MM-ddTHH:mm:sszzz", DateTimeFormatInfo.InvariantInfo).ToString("d");
答案 3 :(得分:0)
在您的示例中,时区的格式不是-K
。减号是时区(K
格式)的一部分,而不是时区和时区之间的分隔符。例如,-04:00
的意思是“减去四个小时”。所以应该是:
string x = DateTime.ParseExact(
"2019-10-31T09:40:28-04:00",
"yyyy-MM-ddTHH:mm:ssK", // <-----
DateTimeFormatInfo.InvariantInfo).ToString("d");
答案 4 :(得分:0)
格式字符串需要进行如下修改
string x = DateTime.ParseExact("2019-10-31T09:40:28-04:00", "yyyy-MM-ddTHH:mm:sszzz", DateTimeFormatInfo.InvariantInfo).ToString("d");