字符串到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);
但它无法解析。请帮帮我。
两件事:
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
查找精确匹配