jQuery UI datepicker - 如何在代码中使用 dateFormat 作为日期?

Posted

技术标签:

【中文标题】jQuery UI datepicker - 如何在代码中使用 dateFormat 作为日期?【英文标题】:jQuery UI datepicker - How to use dateFormat for dates inside the code? 【发布时间】:2019-06-08 00:04:27 【问题描述】:

我想在我的日期选择器日历中处理一些日期,我只是不知道如何以我想要的日期格式编写日期。当我在我的代码中使用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】:

默认日期

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

由于您的默认日期没有以正确的格式显示,因此读取不正确。

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 )

希望对您有所帮助。

【讨论】:

感谢您的帮助,我想我明白 parseDate 会做什么,但问题是我是 javascript 新手,我不知道在哪里正确放置和编辑 $.datepicker.parseDate( format, value, options )在我的代码中。如果你能告诉我或指点我一些指南,我将不胜感激,因为目前我所有使用它的尝试都失败了。 使用它将生成的日期对象分配给变量。

以上是关于jQuery UI datepicker - 如何在代码中使用 dateFormat 作为日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 jQuery UI datepicker 获取日期

如何通过 npm jquery-ui-datepicker-with-i18n 导入 laravel?

jQuery UI Datepicker - 如何动态禁用特定日期

如何更改 jQuery UI datepicker 的主题?

使用 jquery 验证和 jquery-ui datepicker

如何从 DatePicker ui jquery 中删除时间