字符串到C#中的日期时间

本文关键字:日期 时间 字符串 | 更新日期: 2023-09-27 18:24:33

这里有一个字符串strdate="25/9/2014",格式为dd/MM/yyyy。我想像下面的一样在日期时间中解析它

DateTime dt;
            if (DateTime.TryParseExact(strDate, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dt))
            {
                dt = DateTime.Parse(strDate);
            }
            Console.WriteLine(dt);

但它无法解析。请帮帮我。

字符串到C#中的日期时间

两件事:

1:您的字符串格式应该是"dd/M/yyyy"(双MM需要两个月的数字;单M允许1或2个月的位数)。

2:您正在对日期字符串进行两次解析。

将您的代码更改为:

DateTime dt;
if (DateTime.TryParseExact(strDate, "dd/M/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dt))
{
    Console.WriteLine(dt.ToString("dd/M/yyyy"));
}
else
{
    Console.WriteLine("Can't parse it.");
}

[EDIT]更改了Console.WriteLine(),使其以特定的"dd/M/yyyy"格式输出,而不是使用本地系统区域设置。

TryParseExact需要完全匹配。

在您的情况下,尝试dd/M/yyyy,因为您的输入是

25/9/2014
dd/M/yyyy

"dd/MM/yyyy"更改为"dd/M/yyyy"

因为

TryParseExact查找精确匹配