【问题标题】:How I can use a other dateformat in my jQuery Datepicker?如何在我的 jQuery Datepicker 中使用其他日期格式?
【发布时间】:2012-09-24 10:33:10
【问题描述】:

我在我的 ASP.NEt 应用程序中使用 jquery datepicker,如果用户来自西班牙或德国,我希望使用其他日期格式。

这是我的 jquery 代码:

$(function () {
    $("#txtAbwesenheitBis").datepicker();
    $("#format").change(function () {
        $("#txtAbwesenheitBis").datepicker("option", "dateFormat", $(this).val());
    });
});

如何使用其他日期格式?或者我如何使用德语日期格式?

【问题讨论】:

    标签: c# jquery asp.net jquery-ui-datepicker date-format


    【解决方案1】:

    The documentation 描述了如何本地化日历。

    基本上你只需要包含适当的本地化脚本,你可以从 jQuery-ui 网站下载,例如:

    <script type="text/javascript" src="/scripts/jquery.ui.datepicker-de.js'></script>
    

    并且您不需要指定 dateFormat 参数:适当的默认值将由本地化脚本设置。要支持多种语言,您可以执行以下操作:

    <script type="text/javascript" src="/scripts/jquery.ui.datepicker-<% =MyLanguage %>.js'></script>
    

    此解决方案在弹出日历中为您提供本地化的月份和日期名称,以及与所选文化相匹配的默认日期格式。

    【讨论】:

      【解决方案2】:

      Here 是一个链接,其中显示了可能的格式选项。只需使用描述构建所需的格式字符串。

      更新: 要根据标签值设置格式化字符串,您可以使用以下内容:

      if($("#lbllanguagelabel").text() == "EN")
        { 
          $("#txtAbwesenheitBis").datepicker("option", "dateFormat", 'en-format-string'); 
        } else {
         ...
       }
      

      但是请注意,如果你的标签有 runat="server",它在客户端的 id 将与服务器端的不同,所以你应该使用$("#&lt;%=lbllanguagelabel.ClientID %&gt;").text(),或者更简单的方法,定义一些独特的类它:

      <asp:lable id="lbllanguagelabel" runat="server" CssClass="languageLable"...
      

      和 JS:

      if($(".languageLable").text() == "EN")
            { 
              $("#txtAbwesenheitBis").datepicker("option", "dateFormat", 'en-format-string'); 
            } else {
             ...
           }
      

      【讨论】:

      • 嗯。很多方面。如果您有要切换的下拉菜单 - 只需将格式字符串设置为相应选项的值并使用 $("#format").change 就像您在代码中使用它一样。或者您可以使用registerstartupscript 并简单地将带有一些变量设置为所需格式的JS。
      • For instance - 关于 SO 的类似问题
      • 例如我在 JS 中使用 asp:label 来表示 case。 ASP:label 文本是 EN,我可以在 JS 代码中使用它来更改格式吗?这是怎么回事。 if((#"lbllanguagelabel.text") == "EN") { $(#format).chage...}else {...}
      【解决方案3】:

      这样试试

      $("#txtAbwesenheitBis").datepicker({ dateFormat :"dd.mm.yyy"});
      

      德语格式

      【讨论】:

      • 将 dateFormat 设置为 dd.mm.yy(不是 dd.mm.yyy)将本地化日期格式,但不会本地化弹出日历。
      • @Joe 我刚刚给出了德国标准的日期格式
      • yyy 不是有效的 API 日期格式 docs.jquery.com/UI/Datepicker/formatDate
      猜你喜欢
      • 2019-08-12
      • 1970-01-01
      • 2012-04-01
      • 2015-09-21
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      相关资源
      最近更新 更多