Datepicker日期时间格式问题。如果更改本地系统日期格式,行为会更改

时间:2012-09-03 10:02:46

标签: jquery asp.net-mvc-3

我是MVC3的新手,并为我的公司做一份评估工作。今天,我在MVC3中遇到了日期格式。

我有一个包含以下方法的模型类

[DataType(DataType.Date)]
[Display(Name = "Date Of Birth")]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public DateTime? DOB { get; set; }

[DataType(DataType.Date)]
[Display(Name = "Date Of Joining")]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)] 
public DateTime? DOJ { get; set; }

在我看来,我调用了一个jquery内置函数Datepicker

<script language="javascript" type="text/javascript">
    $(function () {
        $("#DOB").datepicker({
                                 changeMonth: true,
                                 changeYear: true,
                                 yearRange: "1942:2099",
                                 dateFormat: 'dd/mm/yy' 
                            });
        $("#DOJ").datepicker({
                                 changeMonth: true,
                                 changeYear: true,
                                 yearRange: "2010:2099",
                                 dateFormat: 'dd/mm/yy' 
                            });
    });
</script>

如果我的本地系统日期格式为“dd-mm-yyyy”格式,此代码工作正常,但如果我更改本地系统中任何其他格式的日期格式,则会开始抛出错误。

我的问题是,如何以通用日期时间格式制作它,以便在部署后不会抛出错误?

1 个答案:

答案 0 :(得分:1)

听起来问题与文化背景有关。我在Date格式中遇到了类似的问题,我通过在web.config的<system.web>部分中添加这些行来解决它

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB"/>

希望它有所帮助!!