Internet explorer формат даты

Обновлено: 04.07.2024

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Для работы с датой и временем в JavaScript используются объекты Date.

Создание

Для создания нового объекта типа Date используется один из синтаксисов:

Создаёт объект Date с текущей датой и временем:

Создаёт объект Date , значение которого равно количеству миллисекунд (1/1000 секунды), прошедших с 1 января 1970 года GMT+0.

Если единственный аргумент – строка, используется вызов Date.parse (см. далее) для чтения даты из неё.

new Date(year, month, date, hours, minutes, seconds, ms)

Дату можно создать, используя компоненты в местной временной зоне. Для этого формата обязательны только первые два аргумента. Отсутствующие параметры, начиная с hours считаются равными нулю, а date – единице.

Год year должен быть из 4 цифр.

Отсчёт месяцев month начинается с нуля 0.

Дата задана с точностью до миллисекунд:

Получение компонентов даты

Для доступа к компонентам даты-времени объекта Date используются следующие методы:

getFullYear() Получить год (из 4 цифр) getMonth() Получить месяц, от 0 до 11. getDate() Получить число месяца, от 1 до 31. getHours(), getMinutes(), getSeconds(), getMilliseconds() Получить соответствующие компоненты.

Некоторые браузеры реализуют нестандартный метод getYear() . Где-то он возвращает только две цифры из года, где-то четыре. Так или иначе, этот метод отсутствует в стандарте JavaScript. Не используйте его. Для получения года есть getFullYear() .

Дополнительно можно получить день недели:

getDay() Получить номер дня в неделе. Неделя в JavaScript начинается с воскресенья, так что результат будет числом от 0(воскресенье) до 6(суббота).

Все методы, указанные выше, возвращают результат для местной временной зоны.

Существуют также UTC-варианты этих методов, возвращающие день, месяц, год и т.п. для зоны GMT+0 (UTC): getUTCFullYear() , getUTCMonth() , getUTCDay() . То есть, сразу после "get" вставляется "UTC" .

Если ваше локальное время сдвинуто относительно UTC, то следующий код покажет разные часы:

Кроме описанных выше, существуют два специальных метода без UTC-варианта:

Возвращает число миллисекунд, прошедших с 1 января 1970 года GMT+0, то есть того же вида, который используется в конструкторе new Date(milliseconds) .

Возвращает разницу между местным и UTC-временем, в минутах.

Установка компонентов даты

Следующие методы позволяют устанавливать компоненты даты и времени:

  • setFullYear(year [, month, date])
  • setMonth(month [, date])
  • setDate(date)
  • setHours(hour [, min, sec, ms])
  • setMinutes(min [, sec, ms])
  • setSeconds(sec [, ms])
  • setMilliseconds(ms)
  • setTime(milliseconds) (устанавливает всю дату по миллисекундам с 01.01.1970 UTC)

Все они, кроме setTime() , обладают также UTC-вариантом, например: setUTCHours() .

Как видно, некоторые методы могут устанавливать несколько компонентов даты одновременно, в частности, setHours . При этом если какая-то компонента не указана, она не меняется. Например:

Автоисправление даты

Автоисправление – очень удобное свойство объектов Date . Оно заключается в том, что можно устанавливать заведомо некорректные компоненты (например 32 января), а объект сам себя поправит.

Неправильные компоненты даты автоматически распределяются по остальным.

Например, нужно увеличить на 2 дня дату «28 февраля 2011». Может быть так, что это будет 2 марта, а может быть и 1 марта, если год високосный. Но нам обо всем этом думать не нужно. Просто прибавляем два дня. Остальное сделает Date :

Также это используют для получения даты, отдалённой от имеющейся на нужный промежуток времени. Например, получим дату на 70 секунд большую текущей:

Можно установить и нулевые, и даже отрицательные компоненты. Например:

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

Когда объект Date используется в числовом контексте, он преобразуется в количество миллисекунд:

Важный побочный эффект: даты можно вычитать, результат вычитания объектов Date – их временная разница, в миллисекундах.

Это используют для измерения времени:

Бенчмаркинг

Допустим, у нас есть несколько вариантов решения задачи, каждый описан функцией.

Как узнать, какой быстрее?

Для примера возьмём две функции, которые бегают по массиву:

Чтобы померить, какая из них быстрее, нельзя запустить один раз walkIn , один раз walkLength и замерить разницу. Одноразовый запуск ненадёжен, любая мини-помеха исказит результат.

Для правильного бенчмаркинга функция запускается много раз, чтобы сам тест занял существенное время. Это сведёт влияние помех к минимуму. Сложную функцию можно запускать 100 раз, простую – 1000 раз…

Померяем, какая из функций быстрее:

Теперь представим себе, что во время первого бенчмаркинга bench(walkIn) компьютер что-то делал параллельно важное (вдруг) и это занимало ресурсы, а во время второго – перестал. Реальная ситуация? Конечно реальна, особенно на современных ОС, где много процессов одновременно.

Гораздо более надёжные результаты можно получить, если весь пакет тестов прогнать много раз.

В современных браузерах (кроме IE9-) вызов performance.now() возвращает количество миллисекунд, прошедшее с начала загрузки страницы. Причём именно с самого начала, до того, как загрузился HTML-файл, если точнее – с момента выгрузки предыдущей страницы из памяти.

Так что это время включает в себя всё, включая начальное обращение к серверу.

Его можно посмотреть в любом месте страницы, даже в <head> , чтобы узнать, сколько времени потребовалось браузеру, чтобы до него добраться, включая загрузку HTML.

Возвращаемое значение измеряется в миллисекундах, но дополнительно имеет точность 3 знака после запятой (до миллионных долей секунды!), поэтому можно использовать его и для более точного бенчмаркинга в том числе.

Для измерения с одновременным выводом результатов в консоли есть методы:

  • console.time(метка) – включить внутренний хронометр браузера с меткой.
  • console.timeEnd(метка) – выключить внутренний хронометр браузера с меткой и вывести результат.

Параметр "метка" используется для идентификации таймера, чтобы можно было делать много замеров одновременно и даже вкладывать измерения друг в друга.

В коде ниже таймеры walkIn , walkLength – конкретные тесты, а таймер «All Benchmarks» – время «на всё про всё»:

При запуске этого примера нужно открыть консоль, иначе вы ничего не увидите.

Современные интерпретаторы JavaScript делают массу оптимизаций, например:

  1. Автоматически выносят инвариант, то есть постоянное в цикле значение типа arr.length , за пределы цикла.
  2. Стараются понять, значения какого типа хранит данная переменная или массив, какую структуру имеет объект и, исходя из этого, оптимизировать внутренние алгоритмы.
  3. Выполняют простейшие операции, например сложение явно заданных чисел и строк, на этапе компиляции.
  4. Могут обнаружить, что некий код, например присваивание к неиспользуемой локальной переменной, ни на что не влияет и вообще исключить его из выполнения, хотя делают это редко.

Эти оптимизации могут влиять на результаты тестов, поэтому измерять скорость базовых операций JavaScript («проводить микробенчмаркинг») до того, как вы изучите внутренности JavaScript-интерпретаторов и поймёте, что они реально делают на таком коде, не рекомендуется.

Форматирование и вывод дат

Во всех браузерах, кроме IE10-, поддерживается новый стандарт Ecma 402, который добавляет специальные методы для форматирования дат.

Это делается вызовом date.toLocaleString(локаль, опции) , в котором можно задать много настроек. Он позволяет указать, какие параметры даты нужно вывести, и ряд настроек вывода, после чего интерпретатор сам сформирует строку.

Пример с почти всеми параметрами даты и русским, затем английским (США) форматированием:

Вы сможете подробно узнать о них в статье Intl: интернационализация в JavaScript, которая посвящена этому стандарту.

Методы вывода без локализации:

toString() , toDateString() , toTimeString() Возвращают стандартное строчное представление, не заданное жёстко в стандарте, а зависящее от браузера. Единственное требование к нему – читаемость человеком. Метод toString возвращает дату целиком, toDateString() и toTimeString() – только дату и время соответственно.

toUTCString() То же самое, что toString() , но дата в зоне UTC.

Если хочется иметь большую гибкость и кросс-браузерность, то также можно воспользоваться специальной библиотекой, например Moment.JS или написать свою функцию форматирования.

Разбор строки, Date.parse

Все современные браузеры, включая IE9+, понимают даты в упрощённом формате ISO 8601 Extended.

Этот формат выглядит так: YYYY-MM-DDTHH:mm:ss.sssZ , где:

  • YYYY-MM-DD – дата в формате год-месяц-день.
  • Обычный символ T используется как разделитель.
  • HH:mm:ss.sss – время: часы-минуты-секунды-миллисекунды.
  • Часть 'Z' обозначает временную зону – в формате +-hh:mm , либо символ Z , обозначающий UTC. По стандарту её можно не указывать, тогда UTC, но в Safari с этим ошибка, так что лучше указывать всегда.

Также возможны укороченные варианты, например YYYY-MM-DD или YYYY-MM или даже только YYYY .

Я работаю с элементами HTML5 на моей веб-странице. По умолчанию ввод type="date" показывает дату как YYYY-MM-DD .

вопрос, Можно ли изменить его формат на что-то вроде: DD-MM-YYYY ?

невозможно изменить формат

мы должны различать формат over the wire и формат презентации браузера.

провод формате The спецификация ввода даты HTML5 относится к спецификация RFC3339, который задает формат полной даты, равный: гггг-ММ-ДД. Смотрите 5.6 спецификации RFC3339 для больше подробности.

презентация в формате браузеры не ограничены в том, как они представляют дату ввода. На момент написания Chrome, Edge, Firefox и Opera имеют поддержку даты (см. здесь). Все они отображают средство выбора даты и форматируют текст в поле ввода.

форматирование текста поля ввода выполняется правильно только в Chrome. Edge, Firefox и Opera отображают дату с днем, месяцем и годом в правильном порядке для локали, но непоследовательно использовать косые черты ( 30/01/2018 ), где например тире ( 30-01-2018 ) ожидаются по формату календаря локали.

Internet Explorer 9, 10 и 11 отображает текстовое поле ввода с проводным форматом.

  • RFC 3339 / ISO 8601 "формат провода": гггг-ММ-ДД. Согласно спецификации HTML5, это формат, который должен использоваться для значения ввода при отправке формы или при запросе через DOM API. Он не зависит от локали и региона.
  • формат, отображаемый элементом управления пользовательского интерфейса и принимаемый в качестве пользовательского ввода. Поставщикам браузеров рекомендуется следовать указаниям пользователя. выбор предпочтений. Например, в Mac OS с регионом "Соединенные Штаты", выбранным на панели настроек языка и текста, Chrome 20 использует формат "m/d/yy".

Я считаю, что браузер будет использовать локальный формат даты. Не думаю, что это возможно изменить. Вы можете, конечно, использовать пользовательский выбор даты.

Google Chrome в своей последней бета-версии, наконец, использует вход type=date формат DD-MM-YYYY .

таким образом, должен быть способ заставить определенный формат. Я разрабатываю веб-страницу HTML5, и поиск даты теперь терпит неудачу с разными форматами.

попробовать это если вам нужно быстрый решение чтобы yyyy-mm - dd пошел "DD-Sep -2016"

1) Создайте рядом с вашим входом один класс span (действуйте как метка)

2) Обновление метки каждый раз, когда ваша дата изменяется пользователем, или когда нужно загрузить из данных.

работает для мобильных телефонов браузера webkit и указатель-события для IE11 + требует jQuery и jQuery Date

enter image description here

прочитав много дискуссий, я подготовил простое решение, но я не хочу использовать много Jquery и CSS, просто некоторые javascript.

HTML-код:

CSS-кода:

Javascript Код:

выход:

браузеры получают формат ввода даты из системного формата даты пользователя.

(проверено в поддерживаемых браузерах, Chrome, Edge.)

поскольку на данный момент нет стандарта, определенного спецификациями, чтобы изменить стиль управления датой, его невозможно реализовать в браузерах.

однако, это поведение получения формата даты из системных настроек лучше, и я настоятельно рекомендую, мы не должны пытаться переопределить его. Причина то есть, пользователи будут видеть формат ввода даты такой же, как они настроили в системе/устройстве, и который им удобен или соответствует их локали.

помните, что это просто формат пользовательского интерфейса на экране, который видят пользователи, в JavaScript/backend вы всегда можете сохранить нужный формат.

Я знаю, что это старый пост, но он пришел как первое предложение в поиске google, короткий ответ нет, рекомендуемый ответ пользователя пользовательская дата пикер, правильный ответ, который я использую, использует текстовое поле для имитации ввода даты и делает любой формат, который вы хотите, вот код

1-Обратите внимание, что этот метод работает только для браузера, который поддерживает тип даты.

2 - Первая функция в JS коде для браузера, который не поддерживает дату и вид нормальный ввод текста.

3-Если вы будете использовать этот код для нескольких вводов даты на своей странице, пожалуйста, измените идентификатор "xTime" ввода текста как в вызове функции, так и в самом вводе на что-то другое и, конечно же, используйте имя ввода, которое вы хотите для отправки формы.

4-на второй функции вы можете использовать любой формат вместо day+ " / "+month+ " / "+year например year+ " / "+month+ " / " +day и в текстовом вводе использовать заполнитель или значение как yyyy / mm / dd для пользователь при загрузке страницы.

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Выбор даты — это элемент управления, который позволяет пользователям быстро вводить даты в форму Microsoft Office InfoPath, нажав кнопку маленьком всплывающем календаре. Например можно использовать элемент выбора даты для ввода дат рождения люди страхования форме. Можно также использовать элементом выбора даты для отображения стандартных дат, например текущую дату.

В этой статье

Когда следует использовать элемент выбора даты

При необходимости с помощью выбора дат:

Разрешить пользователям ввод дат, выбранном в форме, например даты начала и окончания для определенного проекта.

Функции сегодня и сейчас, чтобы отобразить текущую дату и время в форме.

Отображение дат из внешнего источника данных, например выставления счетов и отгрузки дат из базы данных заказов клиентов.

На приведенном ниже рисунке элементом выбора даты используется в шаблоне формы командировку запроса для сбора отправления Дата рейса.

Вы можете настроить Выбор даты в соответствии со своими потребностями, дважды щелкнув элемент управления в шаблоне формы и измените его свойства. Например можно указать дату по умолчанию или изменить способ отображения даты в форме.

Взаимодействие с пользователем

Выбор даты выглядеть текстовые поля, за исключением того, что отображается маленький значок календаря справа от поля. Чтобы открыть всплывающий календарь, щелкните значок календаря; Когда появится календарь, щелчок даты, они будут доступны из календаря или используйте стрелки вправо и влево кнопок для прокрутки месяцы. Чтобы вставить текущую дату пользователям, они нажмите кнопку сегодня в нижней части календаря.

Совместимость

При разработке шаблона формы в InfoPath, вы можете специального режима совместимости для шаблона формы с поддержкой браузера разработки. Когда шаблона формы с поддержкой браузера, опубликованные на сервере под управлением InfoPath Forms Services, а затем поддержкой веб-браузера, форм, основанных на шаблоне формы можно просмотреть в веб-браузере. При разработке шаблона формы с поддержкой браузера некоторые элементы управления будут недоступны в области задач элементы управления, так как они не отображается в веб-браузере.

Хотя выбора даты доступны при разработке шаблона формы с поддержкой браузера, следует учитывать следующие ограничения:

Выбор даты полностью поддерживаются только в браузерах Windows Internet Explorer. В других веб-браузеры Выбор даты в виде текстового поля, несмотря на то, что дата параметры форматирования, поддерживаются в текстовом поле.

Замещающий текст — текст, отображаемый в элементе управления в шаблоне формы. Пример замещающий текст — «Щелкните здесь и введите». Несмотря на то, что можно оставить заполнитель параметры текста для шаблонов форм с поддержкой браузера, что текст не отображается в веб-браузеры.

Вставка элемента управления "выбор даты"

Процедура для вставки элементом выбора даты немного зависят от ли разработка шаблона формы пустой или индексация внешнего вида шаблона формы базы данных или другого внешнего источника данных.

На рисунке показано, как выглядит элементом выбора даты при выборе в Режим конструктора.

Элементы управления могут быть связанными или свободными. Если элемент управления связан, он подключен к полю или группе в источнике данных, поэтому данные, вводимые в элемент управления, сохраняются в XML-файле самой формы. Когда элемент управления является свободным, он не подключен к полю или группе, а данные, вводимые в него, не сохраняются. Если выбрать элемент управления или навести на него указатель мыши, в его правом верхнем углу , отобразится текст и значок привязки. В тексте указаны группа или поле в источнике данных, к которым привязан элемент управления. Значок указывает на то, правильно ли элемент управления привязан к полю или группе. Если привязка правильная, выводится зеленый значок. Если с привязкой что-то не так, вы увидите синий или красный значок.

Источник данных для шаблона формы состоит из полей и групп, которые отображаются в виде иерархической структуры в области задач Источник данных. Элементы выбора даты всегда связаны с полями. В приведенном ниже примере отправления управляющего элемента выбора даты в шаблоне формы привязан к полю departureDate в области задач Источник данных.

Вставьте элемент выбора даты в шаблоне пустой формы

При создании нового пустого шаблона формы по умолчанию устанавливается флажок Автоматически создавать источник данных в области задач Элементы управления. Это позволяет InfoPath автоматически создавать поля и групп в источнике данных по мере добавления элементов управления в шаблон формы. Эти поля и группы представлены в виде значков папок и файлов в области задач Источник данных.

Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.

Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.

В разделе Вставить элементы управления щелкните Элемент выбора даты.

Чтобы добавить метку к элементу управления, введите сверху или слева от него текст, за которым следует двоеточие (:).

Чтобы задать способ отображения даты в форме, дважды щелкните Выбор даты, который был добавлен в шаблоне формы.

Перейдите на вкладку данные и нажмите кнопку Формат.

В списке отображения даты следующим образом в диалоговом окне Формат даты выберите требуемый формат отображения.

Примечание: Можно изменить формат отображения даты только в случае тип данных текст, дату, или дата и время.

Вставьте элемент выбора даты на шаблон формы, основанного на существующий источник данных

Если основе внешнего вида шаблона формы на существующий файл язык XML (Extensible Markup), базы данных или веб-службы, InfoPath извлекает поля и группы в области задач Источник данных из соответствующего источника данных. В этом случае можно добавить, перетащив поле выбора даты из области задач Источник данных в шаблоне формы или путем вставки Выбор даты с помощью области задач элементы управления, как описано в приведенной ниже процедуре элементом выбора даты:

Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.

Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.

В разделе Вставить элементы управления щелкните Элемент выбора даты.

В диалоговом окне Привязка выбора дат выберите поле, в котором нужно сохранить данные выбора даты и нажмите кнопку ОК.

InfoPath в качестве используется имя поля или группы подпись элемента управления. При необходимости измените текст подписи.

Чтобы задать способ отображения даты в форме, дважды щелкните Выбор даты, который был добавлен в шаблоне формы.

На вкладке данные нажмите кнопку Формат.

В списке отображения даты следующим образом в диалоговом окне Формат даты выберите требуемый формат отображения.

Примечание: Можно изменить формат отображения даты, только если тип данных текст, дату, или дата и время.

Совет: В области задач Источник данных также можно использовать для вставки элементов управления. В области задач Источник данных щелкните правой кнопкой мыши поле, которое требуется связать «Выбор даты» и нажмите кнопку Управления "Выбор даты" в контекстном меню.

Отобразить текущую дату в календарике

Чтобы автоматически вставить текущую дату в форме при ее открытии, можно использовать функцию сегодня с элементе выбора даты.

Вставьте элемент выбора даты в шаблоне формы.

Дважды щелкните Выбор даты, вставленной в шаблоне формы.

Откройте вкладку Данные.

В разделе Значение по умолчанию нажмите кнопку Вставить формулу .

В диалоговом окне Вставка формулы нажмите кнопку Вставить функцию.

В списке категорий в диалоговом окне Вставка функции выберите Дата и время.

В списке функции выберите сегодня и нажмите кнопку ОК два раза, чтобы вернуться в диалоговое окно Свойства выбора даты.

Обратите внимание, что в поле значение отображается сегодня().

В разделе Значение по умолчанию снимите флажок обновлять это значение при пересчете результатов формулы.

Примечание: Если снять этот флажок установлен, дата, не обновляется автоматически при каждом открытии формы на основе этого шаблона формы. Идеально подходит в тех случаях, когда пользователи могут видеть дату создания формы. Можно оставить установленным флажком в случаях, когда у вас есть последнее обновление или в прошлый раз открыт на поле, которое необходимо изменять каждый раз при открытии формы дату.

Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.

Убедитесь, что дату, которая появляется в окне выбора даты выглядит так, как требуемое для. Если это не так, вы можете изменить способ отображения даты или времени, нажав кнопку " Формат " в диалоговом окне Свойства выбора даты.

Отображение текущих даты и времени в календарике

Чтобы автоматически вставить текущую дату и время в форме при ее открытии, можно использовать функцию теперь в элементе выбора даты.

Вставьте элемент выбора даты в шаблоне формы.

Дважды щелкните Выбор даты, вставленной в шаблоне формы.

Откройте вкладку Данные.

В поле тип данных выберите Дата и время (dateTime).

В диалоговом окне Формат даты и времени в списке Формат отображения времени следующим образом нужный вариант и нажмите кнопку ОК.

В диалоговом окне Свойства выбора даты в поле Значение по умолчанию, нажмите кнопку Вставить формулу .

В диалоговом окне Вставка формулы нажмите кнопку Вставить функцию.

В списке категорий в диалоговом окне Вставка функции выберите Дата и время.

В списке функциинажмите кнопку выполнить и нажмите кнопку ОК два раза, чтобы вернуться в диалоговое окно Свойства выбора даты.

Обратите внимание на то, что отображается в поле значениеnow().

В разделе Значение по умолчанию снимите флажок обновлять это значение при пересчете результатов формулы.

Примечание: Если снять этот флажок установлен, дата, не обновляется автоматически при каждом открытии формы на основе этого шаблона формы. Идеально подходит в тех случаях, когда пользователи могут видеть дату создания формы. Можно оставить установленным флажком в случаях, когда у вас есть последнее обновление или в прошлый раз открыт на поле, которое необходимо изменять каждый раз при открытии формы дату.

Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.

Убедитесь, что дату, которая появляется в окне выбора даты выглядит так, как требуемое для. Если это не так, вы можете изменить способ отображения даты или времени, нажав кнопку " Формат " в диалоговом окне Свойства выбора даты.

Советы по макету

Используйте приведенные ниже советы помогут вам настроить внешний вид, размер и других аспектов элементом выбора даты:

Чтобы одновременно изменить размер нескольких выбора даты, выделите выбора даты, размер которых нужно изменить, в меню Формат выберите пункт Свойства и внесите необходимые изменения на вкладке размер.

Чтобы изменить цвет элементом выбора даты или границу, Выбор даты, в меню Формат выберите, выберите команду границы и заливка и внесите необходимые изменения.

Чтобы настроить текст, встречающийся в элементом выбора даты, используйте поля Шрифт и Размер шрифта на панели инструментов Форматирование. Чтобы одновременно изменить шрифт и размер шрифта для всех выбора даты на шаблон формы, щелкните правой кнопкой мыши Выбор даты с форматированием и нажмите кнопку Применить шрифт для всех элементов управления выбора даты в контекстном меню.

Чтобы увидеть, как будет выглядеть ваш выбор даты с текстом, в нем, в меню Вид нажмите кнопку Образец данных. Это позволит понять, как будет выглядеть формы при заполнении его.

В некоторых случаях текст внутри Выбор даты» и «метка слева от календарике может отображаться для немного отсутствовать выравнивания. Чтобы быстро изменить выравнивание их, дважды щелкните Выбор даты, нажмите кнопку Выровнять на вкладке размер и нажмите кнопку Применить. В случае выбора метки и даты в разных ячейках макетной таблицы, щелкните правой кнопкой мыши ячейку, содержащую подпись, в контекстном меню выберите команду Свойства таблицы и на вкладке Ячейка в группе Вертикальное выравнивание выберите Центр.

Чтобы изменить способ отображения даты, дважды щелкните Выбор даты, перейдите на вкладку данные и нажмите кнопку " Формат ". Выбор формата отображения в диалоговом окне Формат даты.

Типы ввода HTML5 великолепны, новый встроенный инструмент выбора даты в Opera очень прост, а Chrome, по крайней мере, поддерживает новый тип ввода с помощью вращающегося колеса.

Но есть ли способ установить значение по умолчанию для поля даты на сегодняшнюю дату? С помощью Opera я могу выбрать "Сегодня" из палитры дат, и как только я нажимаю на любую из кнопок шагов в Chrome, она увеличивается/уменьшается по сравнению с сегодняшней датой.

Я не стесняюсь кодировать решение этой небольшой проблемы, но мне кажется глупым, что оба браузера полностью осведомлены о текущей дате, но не будут автоматически вставлять ее (по крайней мере, в качестве заполнителя).

ОТВЕТЫ

Ответ 1

Как и любое поле ввода HTML, браузер оставит его пустым, если в атрибуте значения не указано value по умолчанию.

К сожалению, HTML5 не предоставляет способ указания "сегодня" в атрибуте value (что я вижу), только действительная дата RFC3339, как 2011-09-29 .

TL; DR Используйте формат даты YYYY-MM-DD , иначе он не будет отображаться

Ответ 2

Объект JavaScript Date обеспечивает достаточную встроенную поддержку требуемого формата, чтобы избежать его вручную:

Добавьте это для правильной поддержки часового пояса:

Ответ 3

это работает для меня:

Ответ 4

Следующий код работает хорошо:

Обратите внимание, что это зависит от PHP.

Ответ 5

Возможно, я бы выделил немного дополнительного времени, чтобы увидеть, являются ли месяц и дата однозначными, и поставить перед ними дополнительный ноль. но это должно дать вам представление.

РЕДАКТИРОВАТЬ: Добавлена проверка на дополнительный ноль

Ответ 6

Следуйте стандартным форматам Y-m-d, если вы используете PHP

Ответ 7

Если вы не хотите использовать jQuery, вы можете сделать что-то вроде этого

Ответ 8

В HTML5 как таковой нет способа установить значение по умолчанию для поля даты на сегодняшнюю дату? Как показано в других ответах, значение может быть установлено с помощью JavaScript, и это, как правило, лучший подход, если вы хотите установить значение по умолчанию в соответствии с текущей датой для пользователя при загрузке страницы.

HTML5 определяет свойство valueAsDate для элементов input type=date , и используя его, вы можете установить начальное значение непосредственно из созданного объекта, например. на new Date() . Однако, например, IE 10 не знает этого свойства. (Он также не имеет подлинной поддержки input type=date , но это другая проблема.)

Таким образом, на практике вам нужно установить свойство value , и оно должно быть в соответствии с ISO 8601. В настоящее время это можно сделать довольно легко, поскольку мы можем ожидать, что текущие используемые браузеры будут поддерживать метод toISOString :

Ответ 9

Если вы делаете что-то, связанное с датой и временем в brower, вы хотите использовать Moment.js:

moment() возвращает объект, представляющий текущую дату и время. Затем вы вызываете его метод .format() , чтобы получить строковое представление в соответствии с указанным форматом. В этом случае YYYY-MM-DD .

Ответ 10

Ответ 11

Очень просто, просто используйте серверные языки, такие как PHP, ASP, JAVA или даже вы можете использовать javascript.

Ответ 12

используйте moment.js для решения этой проблемы в двух строках, Тип ввода даты html5 принимает только этот формат "ГГГГ-ММ-ДД". Я решаю свою проблему таким образом.

Это самый простой способ решить эту проблему.

Ответ 13

если вам нужно заполнить ввод datetime, вы можете использовать это:

Ответ 14

Это то, что я сделал в своем коде, я только что протестировал и работал нормально, input type = "date" не поддерживает автоматический набор curdate, поэтому способ, которым я использовал это ограничение, заключался в том, что PHP-код был простым такой код.

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

Ответ 15

Для NodeJS (Express с шаблонами SWIG):

Ответ 16

Ответ 17

Ответ 18

Ответ 19

Ответ 20

Это то, что вам действительно нужно сделать на стороне сервера, поскольку формат локального времени каждого пользователя отличается, не говоря уже о том, что каждый браузер ведет себя по-разному.

Значение даты в формате HTML должно быть в следующем формате: гггг-мм-дд, иначе значение не будет отображаться.

Выходной день на сегодня: 2019-02-08

Тогда в вашем html: <input type="date" value="<% =get_date %>"

просто используйте это: <input type="date" value="<?php echo date("Ymd");?>">

Ответ 21

Так как не существует метода по умолчанию для установки значения для сегодняшней даты, я бы сказал, что это должно зависеть от его приложения. Если вы хотите максимально увеличить аудиторию аудитории при выборе даты, используйте серверную script (PHP, ASP и т.д.), Чтобы установить значение по умолчанию.

Однако, если это для консоли администрирования CMS, и вы знаете, что пользователь всегда будет доверять JS или вашему сайту, тогда вы можете безопасно использовать JS для заполнения значения по умолчанию, как в jlbruno.

Ответ 22

И для тех, кто использует ASP VBScript

И затем в теле ваш элемент должен выглядеть примерно так.

Ответ 23

Спасибо, peter, теперь я меняю свой код.

Ответ 24

Важно: JS script должен находиться в последней строке кода или после ввода, потому что если вы поместите этот код раньше, script не найдет ваш вход.

Ответ 25

В самом HTML не используется метод по умолчанию, чтобы вставлять текущую дату в поле ввода. Однако, как и любое другое поле ввода, оно принимает значение.

Вы можете использовать PHP для извлечения текущей даты и ввода ее в поле значения элемента формы.

Поле значения принимает формат YYYY-MM-DD как вход так просто, создав переменную $date_string в том же формате, в котором принимает входное значение, и заполняет его годом, месяцем и днем, полученным с сегодняшней даты и вуаля! У вас есть выбранная дата!

Надеюсь, что это поможет:)

Edit:

Если вы хотите, чтобы поле ввода было вложено внутри HTML, а не PHP, вы могли бы сделать следующее.

Я понимаю, что этот вопрос был задан некоторое время назад (2 года назад), но мне все же потребовалось некоторое время, чтобы найти определенный ответ в Интернете, так что это будет служить любому, кто ищет ответ, когда это может быть и надеюсь, что это поможет всем очень:)

Другое Редактировать:

Почти забыл, что в прошлом для меня была королевская боль, всегда забываю устанавливать часовой пояс по умолчанию при создании script в PHP, который использует функцию date().

Ответ 26

Если вы используете ruby, вы можете использовать это, чтобы установить значение по умолчанию для сегодняшней даты и времени:

Ответ 27

Ответ 28

Оба топовых ответа неверны.

Короткий однострочный текст, который использует чистый JavaScript, учитывает локальный часовой пояс и не требует определения дополнительных функций:

Ответ 29

Javascript

Jquery

Другой вариант

Если вы хотите настроить дату, месяц и год, просто сделайте сумму или сабвуфер, как хотите 😎 Для месяца начинается с 0, поэтому необходимо суммировать 1 с месяцем.

Читайте также: