我正在尝试将String
解析为DateTime
对象,但似乎总是将月份默认为1.所以我要说我给它一个字符串30/05/1970
它最终转换为DateTime
对象,月份值等于1
。
以下是代码:
public static DateTime ToDateTime(this String value, String format)
{
Contract.Requires(!String.IsNullOrEmpty(value));
Contract.Requires(!String.IsNullOrEmpty(format));
DateTime date;
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
return date;
}
throw new ArgumentException("Input value is not a valid date.");
}
请注意,传递给方法的格式为dd/mm/yyyy
。
有什么想法吗?
答案 0 :(得分:10)
您使用了错误的格式说明符数月。
MM
不是mm
。您现在正在将月份解析为分钟。
使用dd/MM/yyyy
。
答案 1 :(得分:1)
您可能指定的格式不正确。
改为
var dt= ToDateTime("30/05/1970", "dd/MM/yyyy");