我有一个ASP.NET MVC应用程序,它允许用户选择存储在ViewModel中的日期。
这是转换为日期对象的代码:
viewModel.startDateAndTime = Convert.ToDateTime(buyToday.DealStartDateAndTime);
其中一位开发人员的系统日期时间设置为以下格式:
24-FEB-2014
在那个系统上,他得到了FormatException。 我想设置使用这种格式的日期时间:
毫米/日/年
无论在任何系统上设置是什么..
尝试使用这段无效的代码:
string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "mmddyyyy", CultureInfo.InvariantCulture);
任何线索都值得赞赏。 谢谢&问候。
答案 0 :(得分:5)
您的输入字符串与解析模式不匹配。
"24-Feb-2014"
与mmddyyyy
有很大不同,不是吗?
您可以将DateTime.Parse
与CultureInfo.InvariantCulture
:
string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.Parse(startDate, CultureInfo.InvariantCulture);
否则,对于ParseExact
,输入必须与模式完全匹配,因此您应该将24022014
作为输入传递。但是,您知道,mm
表示分钟。对于月,请使用MM
:)因此模式应为ddMMyyyy
。查看MSDN上的Custom Date and Time Format Strings页面。
答案 1 :(得分:1)
试试这个:
string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "dd-MMM-yyyy",System.Globalization.CultureInfo.InvariantCulture);
答案 2 :(得分:0)
mm
返回分钟,从00到59.所以请使用MM
这个月,从01到12。
string startDate = "24-Feb-2014";
DateTime startDateTime = DateTime.ParseExact(startDate, "ddMMyyyy", CultureInfo.InvariantCulture);