我从数据库中得到了整个字符串:
CCC_0293170118-10-2013-20-27-54.541
我有子字符串,所以我得到了18-10-2013-20-27-54
,但它抛出了一个错误
我想将它转换为 DateTime,以便我可以将它与另一个格式为“{10/18/2013 8:28:46 PM}”的 DateTime 进行比较,以获得时差。
我从数据库中得到了整个字符串:
CCC_0293170118-10-2013-20-27-54.541
我有子字符串,所以我得到了18-10-2013-20-27-54
,但它抛出了一个错误
我想将它转换为 DateTime,以便我可以将它与另一个格式为“{10/18/2013 8:28:46 PM}”的 DateTime 进行比较,以获得时差。
您可以使用"dd-MM-yyyy-HH-mm-ss"
如下格式;
string s = "18-10-2013-20-27-54";
DateTime dt = DateTime.ParseExact(s, "dd-MM-yyyy-HH-mm-ss", CultureInfo.InvariantCulture);
Console.WriteLine(dt);
输出将是;
10/18/2013 8:27:54 PM
这里一个demonstration
.
ADateTime
没有格式。这只是一个值。
要解析诸如“18-10-2013-20-27-54”之类的值,您应该使用DateTime.ParseExact
(或者DateTime.TryParseExact
,如果有点预计数据可能无效)。所以像:
DateTime value = DateTime.ParseExact(text, "dd-MM-yyyy-HH-mm-ss",
CultureInfo.InvariantCulture);
在这里指定不变的文化以确保使用公历很重要 - 如果您使用“当前系统文化”,那么它可以使用不同的默认日历系统。