我正在尝试使用我之前从未见过的特殊格式解析日期/时间...
2011-03-08-12.26.27.000000
2011-03-08-13.00.03.000000
C#中是否有一个简单的功能,我很容易将其转换为日期/时间?
谢谢,非常感谢您的帮助。
答案 0 :(得分:8)
DateTime.ParseExact("2011-03-08-12.26.27.000000", "yyyy-MM-dd-HH.mm.ss.ffffff", null)
答案 1 :(得分:2)
这就是你要找的东西:
DateTime.ParseExact("2011-03-08-12.26.27.000000", "yyyy-MM-dd-HH.mm.ss.ffffff", CultureInfo.InvariantCulture);
托马斯的答案是正确的(大多数情况下),但由于我提到的错误作为对他答案的回答而无法解决。我也尝试使用:“2011-03-23-13.00.00.000000”,但它失败了。 hh
需要HH
。
答案 2 :(得分:1)
您应该使用DateTime.ParseExact,代码如下:
var dateString = "2011-03-08-12.26.27.000000";
var result = DateTime.ParseExact(dateString, "yyyy-MM-dd-HH.mm.ss.ffffff", CultureInfo.InvariantCulture);
答案 3 :(得分:0)
将第三个-
替换为,然后使用
DateTime.Parse
答案 4 :(得分:0)
是的,您可以使用DateTime.ParseExact(dateString, "yyyy-MM-dd-HH.mm.ss.ffffff")
。 ParseExact要求字符串完全是指定的格式,但是根据该限制,它可以处理任何可以表示为格式字符串的数据格式,这在这里没有问题。
答案 5 :(得分:0)
由于某些原因,上述答案都没有为我所描述的模式。所以我使用了TryParseExact,如下所示:
string pattern = "yyyy-MM-dd-HH.mm.ss.ffffff";
DateTime parsedDate;
if (DateTime.TryParseExact(dmr.DMR2ODAT, pattern, null,
DateTimeStyles.None, out parsedDate))
...
哪个有效。发布以防其他人遇到同一问题。