有人可以帮我在表单控件 ui-datepicker 中格式化日期吗?尽管在模型和视图中设置了格式,但选择器会忽略它并使用 MM/dd/yyyy。
在我的模型中:
public DateTime InvoiceUtc { get; set; }
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
private DateTime _SetDefaultInvoiceUtc = DateTime.Now;
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime UserDefaultInvoiceUtc
{
get
{
return _SetDefaultInvoiceUtc;
}
set
{
InvoiceUtc = value;
}
}
在视图中我有以下内容:
<input asp-for="InvoiceUtc" class="form-control ui-datepicker" type="date" placeholder="Start Date" required value="@Model.UserDefaultInvoiceUtc.ToString("yyyy-MM-dd")" />
但是日期以 MM/dd/yyyy 格式出现,在整个应用程序的任何模型中都没有使用过。事实上,我从来没有在任何地方见过这种日期格式!有任何线索吗?
如果想以
yyyy-MM-dd
的格式显示日期,可以参考这个简单的demo:
public class DateTest
{
public DateTime MyDate { get; set; }
}
查看
<div class='input-group date' id='datepicker'>
<input asp-for="MyDate" type="text" class="form-control" value="@DateTime.Now.ToString("yyyy-MM-dd")" />
</div>
脚本
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(function () {
$("#MyDate").datepicker({ dateFormat: 'yy-mm-dd' }).val();
});
</script>
Gif 演示