Не удается использовать формат «гггг-дд-мм ЧЧ: ММ: сс» в jQuery DatePicker для сохранения поля MySQL DateTime

#javascript #php #html #datepicker

#javascript #php #HTML #datepicker

Вопрос:

Я хотел бы изменить формат даты в окне выбора даты выбранная дата

Как мне изменить этот формат даты

 DTSTART: 09/18/2020 
DTEND: 09/18/2020
  

В эту форму даты

 DTSTART:19970714T170000Z
DTEND:19970715T035959Z
  

Я пробовал это, но я не получаю то, что хочу

   $("#datepicker").datepicker({
        dateFormat: 'yyy-dd-mm HH:MM:ss'
   });
  

ПРИМЕЧАНИЕ: эта дата будет использоваться в ics-файле для календаря в php.

Что мне нужно сделать, чтобы решить эту проблему?

Комментарии:

1. Эй, не спешите, просто любопытно, не могли бы вы сообщить мне, помог ли мой ответ вообще.

2. привет, братан, не сделал

3. Эй, Мертвец, почему это не помогло? Вы пытаетесь использовать datepicker в поле datetime, которое, как я объясняю, не может работать. Кроме того, не могли бы вы, пожалуйста, объяснить? Я опубликовал 100% рабочую демонстрацию онлайн: 100% рабочую демонстрацию для Datepicker , а также официальную документацию jQuery UI , в которой говорится, что нужно использовать ее так, как я описываю. Можете ли вы объяснить, что не работает? Я имею в виду, просто посмотрите на свой формат? У вас год указан как «ГГГГ», три года? Не уверен, как мой ответ не помог в ваших многочисленных проблемах.

Ответ №1:

Ну, datepicker может обрабатывать только даты, и вы даете ему аргумент format, содержащий HH:MM:ss . Он не сможет установить ваше время, в этом случае вам понадобится средство выбора времени.

Установите свой формат на: yy-mm-dd . Это представляет собой 4-значный год, 2-значный месяц и 2-значный день.

гг — год (четырехзначный)

мм — месяц года (двузначный)

dd — день месяца (двузначный)

Источник: Официальная документация jQuery UI Datepicker.

В принципе, вам просто нужен формат 'yy-mm-dd' для правильной вставки значений даты для MySQL…

     $(selector).datepicker({
            dateFormat: 'yy-mm-dd',
            yearRange: '-100: 2',
            changeMonth: true,
            changeYear: true,
    });
  

Полная, рабочая онлайн-демонстрация.

Результаты, на которые вы можете посмотреть:

Пример кода с рабочими результатами

Кроме того, как вы можете видеть выше, это происходит с сегодняшнего дня минус 100 лет до сегодняшнего дня плюс 2 года. Если вы хотите отобразить даты, например, с 1970 по 2025 год, yearRange было бы -50: 5 .

Комментарии:

1. «вам просто нужен формат ‘yy-mm-dd’ для правильной вставки значений даты для MySQL» — Примерно так; mysql хранит как YYYY и т.д…. не 2 из них (Y).

2. Привет, Фанк Сорок Девятый. На самом деле, каждый Y представляет собой 2 цифры. Попробуйте выбрать дату здесь: Рабочая демонстрация с моим кодом Я взял на себя смелость сделать демонстрацию с вашим форматом: Нерабочая демонстрация с вашим форматом — Output: 20202020-09-08 .

3. Обратите внимание на официальные документы jQuery Datepicker : yy - year (four digit) фактически, «гггг» даже не отображается в качестве опции для DateFormat.