如何修复来自DB格式化日期的错误

时间:2019-04-25 09:41:06

标签: c# oop

尝试解析数据库中的数据时遇到问题。

例如,我拥有的数据是:2019-04-19T00:00:00.000Z

我正在尝试将其设置为dd/MM/yyyy的格式,但是遇到错误:

  

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

这是我的代码块

string x = DateTime.ParseExact("2019-04-19T00:00:00.000Z","'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy");

我指定的格式错误吗?还是有其他方法可以做到这一点?

4 个答案:

答案 0 :(得分:1)

您的格式字符串应为"yyyy-MM-ddTHH:mm:ss.fffZ",而不是"'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'",也就是说,代码应类似于this example

string x = DateTime.ParseExact("2019-04-19T00:00:00.000Z","yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture).ToString("dd/MM/yyyy");

答案 1 :(得分:1)

DateTime.ParseExact("\"2019-04-19T00:00:00.000Z\"", "'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'", null).ToString("dd/MM/yyyy");

这将给您19/04/2019

答案 2 :(得分:0)

检查此:

string x = DateTime.ParseExact("2019-04-19T00:00:00.000Z", "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", CultureInfo.InvariantCulture).ToString("dd//yyyy");

答案 3 :(得分:0)

您也可以解析它-

var x = DateTime.Parse("2019-04-19T00:00:00.000Z",
     CultureInfo.InvariantCulture, 
     DateTimeStyles.RoundtripKind).ToString("dd/MM/yyyy");