将字符串(" 2015-03-24T12:31:33.8700000")转换为c#datetime

时间:2016-01-20 11:22:46

标签: c# datetime

我需要将stringdate转换为有效的c#日期时间对象。

input string example = "2015-03-24T12:31:33.8700000"
output c# datetime

我试过这个

 DateTime.ParseExact(x.claimDetails.clmDOA, "yyyy-MM-dd HHmmss", CultureInfo.InvariantCulture)

Buit它给了异常

String was not recognized as a valid DateTime

请注意:我用ogoghly搜索。不知怎的,我找不到任何字符串    "T"字符串中包含datetime

  • 在进行downvoting之前,如果可以建议我使用T或此格式的日期时间字符串确切回答问题的答案。yyyy-MM-dd'T'hh:mm:ss.fffffff

4 个答案:

答案 0 :(得分:3)

DateTime dt = DateTime.Parse(example);

答案 1 :(得分:1)

DateTime dt = DateTime.ParseExact(example, "yyyy-MM-dd'T'hh:mm:ss.fffffff", CultureInfo.InvariantCulture);

应该适合你。

答案 2 :(得分:0)

来自DateTime.ParseExact documentation;

  

将指定的日期和时间字符串表示形式转换为它   DateTime等效。 字符串表示的格式必须   完全匹配指定的格式或抛出异常

在你的情况下,他们不是。

您需要将T用作字符串文字分隔符,并将:指定为TimeSeparator,将秒数分数(带fffffff specifier)指定。

var dt = DateTime.ParseExact("2015-03-24T12:31:33.8700000", 
                             "yyyy-MM-dd'T'HH:mm:ss.fffffff", 
                             CultureInfo.InvariantCulture);

答案 3 :(得分:-1)

DateTime.ParseExact(example , "yyyy MM dd HH:mm:ss", CultureInfo.InvariantCulture);