C# 值xxx对于yyy无效。错误的日期时间格式
您好,我从输入框中获取dateTime,datepicker使用以下代码初始化:C# 值xxx对于yyy无效。错误的日期时间格式,c#,asp.net-mvc,entity-framework,date,datetime,C#,Asp.net Mvc,Entity Framework,Date,Datetime,您好,我从输入框中获取dateTime,datepicker使用以下代码初始化: $(document).ready(function () { $("#CreationDate").datepicker({ autoclose: true, todayHighlight: true, language: "pl", format: 'dd/mm/yyyy' }); }) 如您所见,格式为dd/mm/yyyy 这是我的模型: public int Id { get; set; } pu
$(document).ready(function () {
$("#CreationDate").datepicker({ autoclose: true, todayHighlight: true, language: "pl", format: 'dd/mm/yyyy' });
})
如您所见,格式为dd/mm/yyyy
这是我的模型:
public int Id { get; set; }
public int DeviceId { get; set; }
public string SerialNo { get; set; }
public System.DateTime CreationDate { get; set; }
当我试图将我的模型输入数据库时,控制器拒绝了,因为model.isValid=false
如果我将格式更改为mm/dd/yyyy,则模型有效,但这不是选项,因为用户不希望以Us格式输入数据。
我在web.config全球化行中输入:
<globalization culture="en-GB"/>
无效
我应该如何修改我的代码?
还是唯一的simpleen call controler操作?这篇博文应该能回答您的问题 这篇博文应该能回答你的问题 问题:您的自定义日期格式dd/mm/yyyy无效 小mm表示分钟而不是月份 解决方案:您应该使用大写MM来表示月份。 所以您的格式应该是dd/MM/yyyy 一分钟,从00点到59点。 月份,从01到12 试试这个:
$(document).ready(function () {
$("#CreationDate").datepicker({ autoclose: true,
todayHighlight: true, language: "pl", format: 'dd/MM/yyyy' });
})
问题:您的自定义日期格式dd/mm/yyyy无效
小mm表示分钟而不是月份
解决方案:您应该使用大写MM来表示月份。
所以您的格式应该是dd/MM/yyyy
一分钟,从00点到59点。
月份,从01到12
试试这个:
$(document).ready(function () {
$("#CreationDate").datepicker({ autoclose: true,
todayHighlight: true, language: "pl", format: 'dd/MM/yyyy' });
})
日期选择器格式应为dd/mm/yy,而不是dd/mm/yyyy。在我的例子中,以下代码非常有效:
$(function () {
$(".datePicker").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd/mm/yy',
yearRange: "2013:2014"
});
});
请注意另一件事,您可以将CreationDate字段从System.DateTime更改为String
然后,使用以下代码
DateTime CreationDate ;
DateTime.TryParseExact(yourModel.CreationDate, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out CreationDate );
希望,这会有所帮助。您的日期选择器格式应该是dd/mm/yy,而不是dd/mm/yyyy。在我的例子中,以下代码非常有效:
$(function () {
$(".datePicker").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd/mm/yy',
yearRange: "2013:2014"
});
});
请注意另一件事,您可以将CreationDate字段从System.DateTime更改为String
然后,使用以下代码
DateTime CreationDate ;
DateTime.TryParseExact(yourModel.CreationDate, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out CreationDate );
希望,,这会有帮助。尝试使用dd/MM/yyyyyy尝试使用dd/MM/yyyy将MM更改为MM会有所不同吗?MM代表分钟MM代表月为什么您使用工作解决方案删除了答案?我以为您正在使用jquery?尝试使用dd/MM/yyyyyy尝试使用dd/MM/yyyyy将MM更改为MM会有所不同吗?MM代表分钟MM代表月为什么您使用工作解决方案删除了答案工作解决方案?我以为你在使用jquery?不建议使用大写字母,但我会检查这一点您将jQuery UI DatePicker的格式字符串与.NET DateTime fomrat字符串混淆了。这是行不通的。它的引导数据采集器不是jQueryUI,不知道为什么在更改后它开始工作。更奇怪的是,根据文档,dd/mm/yyyy是正确的,不建议使用大写字母,但我会检查这一点。您将jQuery UI DatePicker的格式字符串与.NET DateTime fomrat字符串混淆了。这是行不通的。它的引导数据采集器不是jQueryUI,不知道为什么在更改后它开始工作。更奇怪的是,根据文档,dd/mm/yyyy是正确的