jQuery UI DatePicker - 更改日期格式

tar*_*eld 527 jquery jquery-ui date jquery-ui-datepicker

我使用jQuery UI中的UI DatePicker作为独立选择器.我有这个代码:

<div id="datepicker"></div>
Run Code Online (Sandbox Code Playgroud)

以下JS:

$('#datepicker').datepicker();
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此代码返回值时:

var date = $('#datepicker').datepicker('getDate');
Run Code Online (Sandbox Code Playgroud)

我退回了这个:

Tue Aug 25 2009 00:00:00 GMT+0100 (BST)
Run Code Online (Sandbox Code Playgroud)

这是完全错误的格式.有没有办法让我以格式返回DD-MM-YYYY

Ava*_*ava 930

这是针对您的代码的特定内容:

var date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' }).val();
Run Code Online (Sandbox Code Playgroud)

更多一般信息在这里:

  • 请注意,如果您之前已经定义了不同的格式,这不起作用,您应该执行`$("#datepicker").datepicker("option","dateFormat","dd-mm-yy"). VAL()` (10认同)
  • 这只是给了我与datepicker中指定的格式相同的格式,而不是dd-mm-yy.使用版本1.10.下面的answear工作正常. (6认同)
  • @SearchForKnowledge只使用`y`.[*日期选择器格式化*](https://api.jqueryui.com/datepicker/#utility-formatDate) (6认同)
  • 'yy`给了我'2015`.我怎么才能得到'15`? (4认同)
  • 在较旧的版本中,格式:“ dd-mm-yyyy”应该可以正常工作 (3认同)

小智 95

在jQuery脚本代码中只需粘贴代码即可.

$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });
Run Code Online (Sandbox Code Playgroud)

这应该工作.

  • `.selector`和`#datepicker`不一样.逐字地粘贴代码是行不通的. (8认同)

kcs*_*oft 60

getDatedatepicker 的方法返回日期类型,而不是字符串.

您需要使用日期格式将返回的值格式化为字符串.使用datepicker的formatDate功能:

var dateTypeVar = $('#datepicker').datepicker('getDate');
$.datepicker.formatDate('dd-mm-yy', dateTypeVar);
Run Code Online (Sandbox Code Playgroud)

此处提供了完整的格式说明符列表.


小智 33

这里是日期选择器的完整代码,日期格式(yy/mm/dd).

复制下面的链接并粘贴到head标签:

   <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>  
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>  
   <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

   <script type="text/javascript">
       $(function() {
               $("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()
       });
   </script>
Run Code Online (Sandbox Code Playgroud)

复制下面的代码并在body标签之间粘贴:

      Date: <input type="text" id="datepicker" size="30"/>    
Run Code Online (Sandbox Code Playgroud)

如果您想要两(2)个输入类型文本Start Date,End Date然后使用此脚本并更改日期格式.

   <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>  
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>  
   <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

   <script type="text/javascript">
       $(function() {
               $("#startdate").datepicker({ dateFormat: "dd-mm-yy" }).val()
               $("#enddate").datepicker({ dateFormat: "dd-mm-yy" }).val()
       });

   </script>  
Run Code Online (Sandbox Code Playgroud)

两个输入文本如:

      Start Date: <input type="text" id="startdate" size="30"/>    
      End Date: <input type="text" id="enddate" size="30"/>
Run Code Online (Sandbox Code Playgroud)


Sal*_*n A 18

getDate函数返回JavaScript日期.使用以下代码格式化此日期:

var dateObject = $("#datepicker").datepicker("getDate");
var dateString = $.datepicker.formatDate("dd-mm-yy", dateObject);
Run Code Online (Sandbox Code Playgroud)

它使用内置于datepicker中的实用程序函数:

$.datepicker.formatDate( format, date, settings ) - 将日期格式化为具有指定格式的字符串值.

此处提供了完整的格式说明符列表.

  • 如果你丰富了@kcsoft的答案(就像我要做的那样)而不是发布新的答案会更好;) (2认同)

小智 17

日期格式

解析和显示日期的格式.此属性是区域化属性之一.有关可能格式的完整列表,请参阅formatDate函数.

代码示例使用指定的dateFormat选项初始化一个datepicker.

$( ".selector" ).datepicker({ dateFormat: 'yy-mm-dd' });
Run Code Online (Sandbox Code Playgroud)

在init之后获取或设置dateFormat选项.

//getter
var dateFormat = $( ".selector" ).datepicker( "option", "dateFormat" );
//setter
$( ".selector" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );
Run Code Online (Sandbox Code Playgroud)

  • @Ryan它对我不起作用,你有一个包含所有代码行的例子吗? (3认同)

小智 9

$("#datepicker").datepicker("getDate") 返回日期对象,而不是字符串.

var dateObject = $("#datepicker").datepicker("getDate"); // get the date object
var dateString = dateObject.getFullYear() + '-' + (dateObject.getMonth() + 1) + '-' + dateObject.getDate();// Y-n-j in php date() format
Run Code Online (Sandbox Code Playgroud)


Mud*_*bas 9

<script type="text/javascript">
  $(function() {
    $( "#date" ).datepicker( {minDate: '0', dateFormat: 'yy-dd-mm' } );
  });
</script>
Run Code Online (Sandbox Code Playgroud)


Rit*_*shi 8

尝试使用

$( ".selector" ).datepicker({ dateFormat: 'dd/mm/yy' });  
Run Code Online (Sandbox Code Playgroud)

并且有很多选项可供日期选择器你可以在这里找到它

http://api.jqueryui.com/datepicker/
Run Code Online (Sandbox Code Playgroud)

这是我们用参数调用datepicker的方式

$(function() {
      $('.selector').datepicker({
            dateFormat: 'dd/mm/yy',
            changeMonth: true,
            numberOfMonths: 1,
            buttonImage: 'contact/calendar/calendar.gif',
            buttonImageOnly: true,
            onSelect: function(selectedDate) {
                 // we can write code here 
             }
      });
});
Run Code Online (Sandbox Code Playgroud)


小智 6

你可以简单地在你的功能中使用这种格式

     $(function() {  
        $( "#datepicker" ).datepicker({
            dateFormat: 'dd/mm/yy',
          changeMonth: true,
          changeYear: true
        });
      });

<input type="text" id="datepicker"></p>
Run Code Online (Sandbox Code Playgroud)


Ash*_*786 6

您可以添加并尝试以下方式:

HTML文件:

<p><input type="text" id="demoDatepicker" /></p>
Run Code Online (Sandbox Code Playgroud)

JavaScript文件:

$(function() {  
    $("#demoDatepicker").datepicker({
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        constrainInput: false
    });
});
Run Code Online (Sandbox Code Playgroud)


小智 5

$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()
Run Code Online (Sandbox Code Playgroud)


Kgn*_*web 5

如果您需要yy-mm-dd格式的日期,则可以使用以下命令:

$("#datepicker").datepicker({ dateFormat: "yy-mm-dd" });
Run Code Online (Sandbox Code Playgroud)

您可以找到所有受支持的格式 https://jqueryui.com/datepicker/#date-formats

我需要2015年12月6日,我这样做是:-

$("#datepicker").datepicker({ dateFormat: "d M,y" });
Run Code Online (Sandbox Code Playgroud)


Tri*_*ger 5

所以我为此苦苦挣扎,觉得我快要疯了,问题是 bootstrap datepicker 正在实现,而不是 jQuery,所以选项是不同的;

$('.dateInput').datepicker({  format: 'dd/mm/yyyy'})
Run Code Online (Sandbox Code Playgroud)