如何设置此字符串的格式,以便 Convert.ToDateTime 可以识别它

本文关键字:Convert 以便 ToDateTime 识别 格式 何设置 设置 字符串 | 更新日期: 2023-09-27 18:37:17

我从数据库中得到了整个字符串:

CCC_0293170118-10-2013-20-27-54.541

我有子字符串,所以我得到了18-10-2013-20-27-54,但它抛出了一个错误

我想将其转换为日期时间

,以便我可以将其与格式为"{10/18/2013 8:28:46 PM}"的另一个日期时间进行比较,以获得时差。

如何设置此字符串的格式,以便 Convert.ToDateTime 可以识别它

您可以使用

"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.

DateTime没有

格式。这只是一个值。

要解析诸如"18-10-2013-20-27-54"之类的值,您应该使用DateTime.ParseExact(或DateTime.TryParseExact,如果数据可能在某种程度上无效)。所以像这样:

DateTime value = DateTime.ParseExact(text, "dd-MM-yyyy-HH-mm-ss",
                                     CultureInfo.InvariantCulture);

请务必在此处指定固定区域性以确保使用公历 - 如果使用"当前系统区域性",则它可能使用不同的默认日历系统。

相关文章: