【问题标题】:jquery datepicker has different format on different browsersjquery datepicker 在不同的浏览器上有不同的格式
【发布时间】:2015-11-27 09:42:17
【问题描述】:

我在我的 php 代码中使用 jQuery datepicker,专门用于 IE 和 Firefox 等浏览器。 datepicker 的默认日期格式是 mm/dd/yyyy,但是对于 chrome,由于日期选择器已经可用,它显示 dd/mm/yyyy。无论显示格式是什么,我只想发回服务器 'yyyy-mm-dd' 或 php date('Y-m-d)

如何将 datepicker 中的日期显示为 dd/mm/yyyy 并以 yyy-mm-dd 形式发送到数据库?这样做,我不想影响已经正常工作的 Chrome。感谢您的建议。

【问题讨论】:

  • 你能把初始化日期选择器的代码贴出来吗?
  • 你是如何“发送回服务器”的?您如何“发送到数据库”?如果您通过javascript(根据标签)发送到服务器,那么您可以在发送之前对其进行解析/重新格式化。您还可以在发送到数据库之前解析服务器端的日期。
  • 你是如何格式化你的<input>的?如果日期框是<input type='date'>,Chrome 将(错误地 IMO)绘制不同的日期框

标签: javascript php jquery


【解决方案1】:

您可以使用dateFormat 选项:

$( "#datepicker" ).datepicker( 
  "option", "dateFormat", "yy-mm-dd"
);

【讨论】:

    【解决方案2】:

    设置您的datepicker 格式试试这个:-

    $("#datepicker").datepicker("option", "dateFormat", 'yy-mm-dd' );
    

    More details

    【讨论】:

    • 嗨,谢谢,你解决了我 3 小时的问题。有用。我会接受这个答案。再次感谢!!
    【解决方案3】:

    您必须指定 dateFormat 否则它依赖于浏览器。

      $(function() {
        $( "#datepicker" ).datepicker();
        $( "#format" ).change(function() {
          $( "#datepicker" ).datepicker( "option", "dateFormat", $( this ).val() );
        });
      });
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>jQuery UI Datepicker - Format date</title>
      <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
      <script src="//code.jquery.com/jquery-1.10.2.js"></script>
      <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
      <link rel="stylesheet" href="/resources/demos/style.css">
    
    </head>
    <body>
     
    <p>Date: <input type="text" id="datepicker" size="30"></p>
     
    <p>Format options:<br>
      <select id="format">
        <option value="mm/dd/yy">Default - mm/dd/yy</option>
        <option value="yy-mm-dd">ISO 8601 - yy-mm-dd</option>
        <option value="d M, y">Short - d M, y</option>
        <option value="d MM, y">Medium - d MM, y</option>
        <option value="DD, d MM, yy">Full - DD, d MM, yy</option>
        <option value="&apos;day&apos; d &apos;of&apos; MM &apos;in the year&apos; yy">With text - 'day' d 'of' MM 'in the year' yy</option>
      </select>
    </p>
     
     
    </body>
    </html>

    参考:jqueryui datepicker

    【讨论】:

      【解决方案4】:

      感谢 Rahautos。我这样做了:

      <script type="text/javascript">
      if (datefield.type!="date"){     jQuery(function($){         
          $('#datepicker').datepicker(); 
          $("#datepicker").datepicker("option", "dateFormat", 'yy-mm-dd' );        
      })
      
      }
      </script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-30
        • 2018-01-07
        • 2011-06-25
        • 1970-01-01
        相关资源
        最近更新 更多