jQuery UI datepicker - Как использовать dateFormat для дат внутри кода? - PullRequest
0 голосов
/ 14 января 2019

Я хочу манипулировать некоторыми датами в моем календаре выбора даты, я просто не знаю, как мне написать даты в нужном формате даты. Когда я использую 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 голосов
/ 14 января 2019

defaultDate

Установите дату, которая будет выделена при первом открытии, если поле пустое. Укажите либо фактическую дату с помощью объекта 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 ).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...