【问题标题】:How to make datepicker value dd/mm/yyy如何使日期选择器值 dd/mm/yyyy
【发布时间】:2017-10-13 09:45:03
【问题描述】:

我正在开发一个 asp.net mvc 应用程序,在其中我试图使用 datepicker 获取 Date 值,我一直在努力寻找合适的解决方案,但没有成功,我想要什么接受: dd/mm/yyyy 但是在选择日期之后,日期选择器总是采用这种格式:mm/dd/yyyy

截图

ModelState 无效的问题是一天的值大于 12(调试器将其读取为月份)。

查看代码:

 <input id="datepicker" name="Date" type="text" value="dd/mm/yyyy" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'dd/mm/yyyy';}" required="">
<script>
    $(function ()
    {
        $("#datepicker").datepicker({ minDate: 0 });
    });
</script>

型号代码:

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

【问题讨论】:

  • 将您的服务器文化更改为接受 dd/MM/yyyy 格式的日期(如果您希望用户以这种格式发布格式)
  • 或者为日期创建一个自定义 ModelBinder
  • 我尝试在 web config 中添加全球化但它不起作用,ModelBinder 我没有尝试它因为我不知道但我会看看它是否有效
  • 类似问题:stackoverflow.com/questions/22559112/… & stackoverflow.com/questions/31209040/…。你也可以设置globalization culture="[culture with dd/MM/yyyy format]"
  • 那你没有尝试正确!

标签: javascript c# asp.net-mvc-4


【解决方案1】:

datepicker 提供日期格式选项。

$('#datepicker').datepicker({ format: 'dd/mm/yyyy' });

如果需要,请尝试从 Global.asax file 更改当前文化

protected void Application_BeginRequest(Object sender, EventArgs e)
{    
  CultureInfo newCulture = (CultureInfo) System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
  newCulture.DateTimeFormat.ShortDatePattern = "dd/MMM/yyyy";
  newCulture.DateTimeFormat.DateSeparator = "/";
  Thread.CurrentThread.CurrentCulture = newCulture;
}

【讨论】:

  • @Exact:首先删除这些事件。文本框中的 onfocus 和 onblur 然后检查。
  • 抱歉没看懂你的问题,我是初学者,插件是什么意思
【解决方案2】:

您可以添加简单的选项format

$("#datepicker").datepicker({ minDate: 0, format:"dd/mm/yyyy"});

【讨论】:

    【解决方案3】:

    您可以为 jquery UI datepicker 自定义 dateFormat。

     $("#datepicker").datepicker({ minDate: 0, dateFormat: 'dd/mm/yy' });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
    <input type="text" id="datepicker"/>

    将您的日期选择器行更改为此。

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

    【讨论】:

    • 是的,我有 Jquery,好的,我会再试一次并告诉你
    【解决方案4】:

    您可以样品使用

    $('#datepicker').datepicker({ dateFormat: 'dd/mm/yyyy' });
    

    【讨论】:

      【解决方案5】:
       $('#datepicker').datepicker({ dateFormat: 'dd/mm/yy' })
      

      如果你想读取值:

      var date = $('#datepicker').datepicker({ dateFormat: 'dd/mm/yy' }).val();
      

      祝你好运!

      【讨论】:

      • 谢谢,但正如 Amit 所说,我想更改格式而不是获取值
      猜你喜欢
      • 2012-02-14
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 2016-01-02
      相关资源
      最近更新 更多