jQuery UI datepicker-如何将dateFormat用于代码中的日期?

时间:2019-01-13 23:13:51

标签: javascript jquery jquery-ui datepicker

我想在日期选择器日历中处理一些日期,我只是不知道如何用所需的日期格式写日期。当我在代码中使用dateFormat时,它将无法正常工作。

我的答案可能在这里,但我无法弄清楚在代码中的使用位置。 http://api.jqueryui.com/datepicker/#utility-formatDate

http://api.jqueryui.com/datepicker/#option-dateFormat

我的代码:

<script>
jQuery(function($) {
  $(document).ready(function(){
  var sesa1 = new Date(2019, 05, 04); // I want to write this dates in dd-mm-yy format
  var sesa2 = new Date(2019, 06, 06); // They curently work in yy-mm-dd format 
 $(".picker").datepicker({
//dateFormat: 'dd-mm-yy' , // If I uncoment this line the defaultDate will go in year 2024!
    defaultDate: '05/07/2019', // It works in format mm-dd-yy and I want it to be in dd-mm-yy
        beforeShowDay: function (date) {
            var day = date.getDay();
            if (date >= sesa1 && date <= sesa2) {
                return [(day != 0 && day != 1 ) ? true : false, 'green', 'some text'];
            }
            return [true, "", "sometext"]; 
        }

  });
});

1 个答案:

答案 0 :(得分:0)

  

默认日期

     

如果该字段为空白,则设置日期以使其在首次打开时突出显示。通过Date对象指定实际日期,或者指定为当前dateFormat中的字符串,或者指定从今天起的天数(例如,+ 7)或一串值和句点(年份的“ y”,“ m '代表数月,'w'代表数周,'d'代表数天,例如'+ 1m + 7d'),或者今天为空。

由于默认日期的格式不正确,因此无法正确读取。

jQuery(function($) {
  $(function(){
    var sesa1 = new Date(2019, 05, 04);
    var sesa2 = new Date(2019, 06, 06); 
    $(".picker").datepicker({
      dateFormat: 'dd-mm-yy',
      defaultDate: '07-05-2019',
      beforeShowDay: function (date) {
        var day = date.getDay();
        if (date >= sesa1 && date <= sesa2) {
          return [(day != 0 && day != 1 ) ? true : false, 'green', 'some text'];
        }
        return [true, "", "sometext"]; 
      }
    });
  });
});

此外,如果您需要从字符串中创建Date,请尝试使用$.datepicker.parseDate()

  

$。datepicker.parseDate(格式,值,选项)

     

从具有指定格式的字符串值中提取日期。

这样,如果您可以使用不同格式的日期字符串,则无论如何都可以获取Date对象。要反转它,请使用$.datepicker.formatDate( format, date, options )

希望有帮助。