正如话题所说:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? KeyStartDate { get; set; }
显示效果很好:
<div class="form-group">
<label asp-for="KeyStartDate">@Resources.Global.StartDate</label>
<input data-toggle="datepicker" asp-for="KeyStartDate" class="form-control" />
<span asp-validation-for="KeyStartDate" class="text-danger"></span>
</div>
但是当我提交表格时,日期解析错误,例如“ MM / dd / YYYY”。因此,如果我选择日期为01.02.2019(2月1日),则该事件将其解释为01/02/2019(1月2日)。
该怎么办?
编辑:
日期选择器部分:
$('[data-toggle="datepicker"]').datepicker({ format: 'dd.MM.yyyy' });
答案 0 :(得分:1)
这有效:(在startup.cs中)
var defaultDateCulture = "fi-FI";
var ci = new CultureInfo(defaultDateCulture);
ci.NumberFormat.NumberDecimalSeparator = ".";
ci.NumberFormat.CurrencyDecimalSeparator = ".";
// Configure the Localization middleware
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture(ci),
SupportedCultures = new List<CultureInfo>
{
ci,
},
SupportedUICultures = new List<CultureInfo>
{
ci,
}
});