Asp.net core 日期格式ASP.Net内核
我正在尝试将我的日期格式化为dd-MMM-yyyy格式,但我总是使用美国格式mm/dd/yyyy。 我已经在ViewModel中添加了数据注释,如列表所示,但仍然存在问题。我甚至尝试过以前的标签助手(TextBoxFor),但都没有成功: 视图模型Asp.net core 日期格式ASP.Net内核,asp.net-core,Asp.net Core,我正在尝试将我的日期格式化为dd-MMM-yyyy格式,但我总是使用美国格式mm/dd/yyyy。 我已经在ViewModel中添加了数据注释,如列表所示,但仍然存在问题。我甚至尝试过以前的标签助手(TextBoxFor),但都没有成功: 视图模型 [DataType(DataType.Date, ErrorMessage = "Date only")] [DisplayName("Date to"), DisplayFormat(DataFormatString = "{0:dd MMM yy
[DataType(DataType.Date, ErrorMessage = "Date only")]
[DisplayName("Date to"), DisplayFormat(DataFormatString = "{0:dd MMM yyyy}", ApplyFormatInEditMode = true)]
public virtual DateTime? date_to { get; set; }
查看
<label asp-for="date_to" class="col-md-2 control-label"></label>
<div class="col-md-4">
@*@Html.TextBoxFor(x => x.date_to, new { @class = "form-control datepicker", placeholder = "Sampling date to" })*@
<input type="datetime" asp-for="date_to" class="form-control datepicker" placeholder="Sampling date to"/>
</div>
@*@Html.TextBoxFor(x=>x.date_to,新的{@class=“form control datepicker”,placeholder=“Sampling date to”})*@
谢谢你的帮助
我正在使用ASP.NETCore1.1.0
Sylvain您应该使用EditorFor,默认情况下它应该呈现一个文本框(如果没有,您可以将自己的编辑器放入)。EditorFor应该尊重您的DataFormatString(TextBoxFor不尊重)。您可以使用
ParseExact()
来获取所需的格式
假设您有字符串string.Format(“{0}{1}”,日期,时间)
格式DD/MM/YYYY hh:MM tt
比如07/05/2017 12:00 PM
,那么您可以通过
DateTime.ParseExact(string.Format("{0} {1}", Date, Time),
"DD/MM/YYYY hh:mm tt", CultureInfo.InvariantCulture);
DisplayFormat不适用于
TextBoxFor
,只能在EditorFor/DisplayFor