dd / MM / yyyy格式的隐藏字段值

时间:2015-08-20 11:45:03

标签: c# asp.net-mvc asp.net-mvc-4

我的hidden中的View字段位于列表foreach循环中。

@Html.HiddenFor(m => m[i].List[q].EntryDate)

我希望此隐藏字段的formatdd/MM/yyyy。目前,当数据绑定时,此日期还包括时间。

我使用了一个全局UTCDateTimeModelBinder来解析日期时间模型值,如下所示: -

var dt = DateTime.ParseExact(value.AttemptedValue.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture);

因此,如果日期时间模型值中存在时间,则会给出错误。

2 个答案:

答案 0 :(得分:2)

如果您的输入有多种可能的格式,则可以使用DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) overload将格式作为字符串数组。

string[] formats = new string[]{"dd/MM/yyyy", "dd/MM/yyyy HH:mm:ss"};
var dt = DateTime.ParseExact(value.AttemptedValue.Trim(), formats, 
                             CultureInfo.InvariantCulture, DateTimeStyles.None);

答案 1 :(得分:0)

您收到错误,因为您指定的格式与输入字符串不匹配。如果您不关心字符串的时间部分,那么只需:

    var dt = DateTime.ParseExact(value.AttemptedValue.Trim().Substring(0,10), "dd/MM/yyyy", CultureInfo.InvariantCulture);