C#使用我所拥有的唯一格式解析日期/时间';前所未见

C#使用我所拥有的唯一格式解析日期/时间';前所未见,c#,datetime,C#,Datetime,我正在尝试用一种我以前从未见过的特殊格式解析日期/时间 2011-03-08-12.26.27.000000 2011-03-08-13.00.03.000000 C#中是否有我缺少的简单函数,以便我可以轻松地转换为日期/时间 谢谢,我真的很感谢你的帮助 DateTime.ParseExact("2011-03-08-12.26.27.000000", "yyyy-MM-dd-HH.mm.ss.ffffff", null) 将第三个-替换为,然后使用日期时间。解析将第三个-替换为,然后使用

我正在尝试用一种我以前从未见过的特殊格式解析日期/时间

2011-03-08-12.26.27.000000
2011-03-08-13.00.03.000000
C#中是否有我缺少的简单函数,以便我可以轻松地转换为日期/时间

谢谢,我真的很感谢你的帮助

DateTime.ParseExact("2011-03-08-12.26.27.000000", "yyyy-MM-dd-HH.mm.ss.ffffff", null)


将第三个
-
替换为
,然后使用
日期时间。解析

将第三个
-
替换为
,然后使用
日期时间。解析

是的,可以使用
日期时间.ParseExact(日期字符串,“yyyy-MM-dd HH.MM.ss.ffff”)
。ParseExact要求字符串的格式与指定的格式完全相同,但鉴于该限制,它可以处理任何可以表示为格式字符串的数据格式,这在这里没有问题。

是的,可以使用
DateTime.ParseExact(dateString,“yyyy-MM-dd HH.MM.ss.ffffff”)
。ParseExact要求字符串的格式与指定的格式完全相同,但鉴于该限制,它可以处理任何可以表示为格式字符串的数据格式,这在这里没有问题。

您应该使用以下代码:

var dateString = "2011-03-08-12.26.27.000000";
var result = DateTime.ParseExact(dateString, "yyyy-MM-dd-HH.mm.ss.ffffff", CultureInfo.InvariantCulture);
您应该使用如下代码:

var dateString = "2011-03-08-12.26.27.000000";
var result = DateTime.ParseExact(dateString, "yyyy-MM-dd-HH.mm.ss.ffffff", CultureInfo.InvariantCulture);

这就是您正在寻找的:

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

这就是您要寻找的:

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

出于某种原因,上述答案中没有一个对我描述的模式有效。所以我求助于像这样使用TryParseExact:

string pattern = "yyyy-MM-dd-HH.mm.ss.ffffff";
DateTime parsedDate;

if (DateTime.TryParseExact(dmr.DMR2ODAT, pattern, null,
             DateTimeStyles.None, out parsedDate))
    ...

这起作用了。在其他人遇到相同问题时发布

出于某种原因,上述答案中没有一个适合我描述的模式。所以我求助于像这样使用TryParseExact:

string pattern = "yyyy-MM-dd-HH.mm.ss.ffffff";
DateTime parsedDate;

if (DateTime.TryParseExact(dmr.DMR2ODAT, pattern, null,
             DateTimeStyles.None, out parsedDate))
    ...

这起作用了。在其他人遇到相同问题时发布

我以前见过这种格式;这是SQL Windows(TeamDeveloper的一部分)唯一一种本机接受的日期时间常量格式;这是SQL Windows(Team Developer的一部分)唯一一种本机接受的日期时间常量格式。-1句点也将失败。它们应该被冒号替换,但即使这样也不能解决他的问题。最好的解决方案是
DateTime。ParseExact
我同意,你有一个更好的解决方案。-1周期也会失败。它们应该被冒号替换,但即使这样也不能解决他的问题。最好的解决方案是
DateTime.ParseExact
我同意,您有一个更好的解决方案。-1此操作失败,因为您的格式不正确。相反,您应该有:
yyyy-MM-dd HH.MM.ss.ffffff
。包括
0:
部分失败,但您也缺少
dd
HH
之间的连字符。修复了。。。我删除了我的-1:)我对我的反对票很公平。我通常会告诉那个人如何让我“取消否决票”。-1这失败了,因为你的格式不正确。相反,您应该有:
yyyy-MM-dd HH.MM.ss.ffffff
。包括
0:
部分失败,但您也缺少
dd
HH
之间的连字符。修复了。。。我删除了我的-1:)我对我的反对票很公平。我通常会告诉那个人他们如何让我“取消否决票”。