ASP.NET MVC Core DateTime 格式使用 jQuery DateTimePicker

ASP.NET MVC Core DateTime format using jQuery DateTimePicker

我有一个 ASP.NET 核心 MVC 应用程序,其视图模型的日期时间 属性 为 "Date of Birth":

[Required]
public DateTime DateOfBirth { get; set; }

我想让用户以 dd/mm/yyyy 格式输入 pick/enter 日期。

在最初的视图中,我使用的是 html 日期类型,它在 Chrome 中工作正常,但在 Edge 中存在一些问题,在 IE 11 中根本无法工作。因此我决定用 jQuery DatePicker:

替换它
<input class="form-control datepicker" name="DateOfBirth" type="text" required>

在 Js 文件中:

$(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' });

只要我将值作为 mm/dd/yyyy 格式 (12/12/2017) 传递,一切正常。一旦我将其更改为 13/12/2017 (dd/mm/yyyy),我就会收到服务器端错误,指出方法参数无效。

您需要将服务器的文化设置为接受 dd/MM/yyyy 格式的日期。

要在 startup.cs 文件中设置默认文化,在 ConfigureServices 方法中(注意以下将文化设置为 en-AU(澳大利亚))

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<RequestLocalizationOptions>(options =>
    {
        options.DefaultRequestCulture = new RequestCulture("en-AU");
    });
    services.AddMvc();
}

并且在Configure方法中

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    app.UseRequestLocalization();
    app.UseMvc();
}
<input class="form-control datepicker" name="DateOfBirth" type="text" required data-date-format="dd-mm-yyyy">

您必须使用日期-日期格式:"dd-mm-yyyy"