在 mvc 中将 fromat 中的日期转换为 MM/dd/yyyy 时出现问题:dd.MM.yyyy
以下是
模型
public class MyViewModel
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime Validity { get; set; }
}
控制器
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel
{
Validity = DateTime.Now
});
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return View(model);
}
}
视图示例
@model MyViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Validity)
<input type="submit" value="OK" />
}
,当我选择像 12.12.2011 这样的日期时,它工作正常,但是当我使用像 18.12.2011 这样的日期时,它将属性(日期时间)中的值设置为 01/01/0001。这对我来说是个问题。
Following is the example
Model
public class MyViewModel
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime Validity { get; set; }
}
Controller
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new MyViewModel
{
Validity = DateTime.Now
});
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return View(model);
}
}
View
@model MyViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Validity)
<input type="submit" value="OK" />
}
When I select a date like 12.12.2011 it is working fine but When i use a date like 18.12.2011 it sets the value in the property(datetime) to 01/01/0001. This is a problem for me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您期望日期采用“英国”格式(日/月/年),但转换代码使用“美国”格式(月/日/年)。
从字符串转换为
DateTime
的代码需要使用正确的格式字符串。您需要
DateTime.Parse
方法获取文化和格式信息。您可以为此方法提供可能格式的列表,以便您可以处理各种输入。You're expecting dates in "UK" format (day/month/year) but the conversion code is using "US" format (month/day/year).
The code that converts from a string to a
DateTime
needs to use the correct format string.You need the
DateTime.Parse
method that takes culture and formatting information. You can give this method a list of possible formats so you can cope with a variety of inputs.您可以在 web.config 文件中添加
。You can add
<globalization uiCulture="en-GB" culture="en-GB" />
in web.config file.