我有一个Web服务日期时间2016-01-01T00:00:00我想用C#格式化为标准日期时间

时间:2016-12-16 22:13:55

标签: c#

Output0Buffer.Date = DateTime.ParseExact(metric.Date, "dd/MM/yyyy", CultureInfo.InvariantCulture);

3 个答案:

答案 0 :(得分:1)

您在使用特定格式时必须设置CultureInfo.InvariantCulture,但在需要使用DateTime.Parse("dtString")之前,请尝试这样

  

如果要格式化或解析一个应该由独立于用户本地设置的软件解析的字符串,则使用CultureInfo.InvariantCulture属性。

 var x = DateTime.Parse("2016-01-01T00:00:00");
 var t = x.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

enter image description here

使用DateTime.ParseExact()需要设置与指定格式完全匹配datetime的字符串表示形式。因此,您的日期时间格式为sortable,使用格式"s",您可以将其解析为:

DateTime.ParseExact("2016-01-01T00:00:00", "s", null).ToString("dd/MM/yyyy",CultureInfo.InvariantCulture);

Here找到如何使用它。

答案 1 :(得分:0)

您可以尝试使用metric.Date.ToString(" dd / MM / yyyy")。

答案 2 :(得分:0)

DateTime.ParseExact为您提供DateTime,如果您试图在Watch窗口的Debug Mode中看到它,则格式不会出现,为此尝试使用DebuggerDisplay属性。 在你的情况下,只是尝试将其保存为string类型的变量,并使用正确的格式调用ToString(),就像其他用户建议的那样