Как мне получить текущую дату в JavaScript?
javascript
date
date-formatting
Суреш Чаганти
источник
источник
var currentTime = new Date();
new Date()
возвращает текущее время , а не текущую дату . Различие имеет значение, если вы пытаетесь сравнить его с другой датой, в которой нет компонента времени (т. Е. В полночь).Ответы:
Используется
new Date()
для создания новогоDate
объекта, содержащего текущую дату и время.Это даст вам сегодняшнюю дату в формате мм / дд / гггг.
Просто измените
today = mm +'/'+ dd +'/'+ yyyy;
на любой формат, который вы пожелаете.источник
01
,02
, ...,09
Date.prototype.toLocaleDateString()
метод является более гибким решением. Он является частью JavaScript начиная с ECMAScript 5.1 и хорошо поддерживается вечнозелеными браузерами. MDN:toLocaleDateString()
Используйте эту
replace
опцию, если вы собираетесь повторно использоватьutc
переменную, напримерnew Date(utc)
, Firefox и Safari не распознают дату с тире.источник
toUTCString()
возвращается как utc datetime.moment( new Date().toJSON().slice(0, 10) )
Если вы хотите что-то простое красивое для конечного пользователя ...
Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
Это обновление выпускается в
2вариантах, все еще относительно небольших, хотя и не таких маленьких, как мой оригинальный ответ. Если вы хотите очень маленький, пойти с этим.Также обратите внимание: это все еще менее раздутый, чем moment.js. Хотя moment.js хорош, imo, в нем слишком много светских методов, которые требуют изучения, как если бы это был язык. Мой здесь использует тот же общий формат, что и PHP: date .
Быстрые ссылки
В этом моде символы формата вдохновлены PHP: date . Для полного списка, пожалуйста, смотрите мой README
Этот мод также имеет гораздо более длинный список готовых форматов. Чтобы использовать готовый формат, просто введите его имя ключа.
dateFormat(new Date(), 'pretty-a');
Как вы можете заметить, вы можете использовать double,
\
чтобы убежать от персонажа.источник
Самый короткий из возможных.
Чтобы получить формат как "2018-08-03":
Чтобы получить формат как "3/8/2018":
Кроме того, вы можете передать локаль в качестве аргумента, например
toLocaleDateString("sr")
, и т. Д.источник
Если вы просто хотите дату без информации о времени, используйте:
источник
Попробуй это:
Результат будет как
источник
Если вы ищете более детальный контроль над форматами даты, я настоятельно рекомендую проверить моменты. Потрясающая библиотека - и только 5 КБ. http://momentjs.com/
источник
Вы можете использовать moment.js: http://momentjs.com/
источник
moment().format("L")
уважать текущую локаль.Чтобы разбить его на шаги:
(new Date()).toString()
дает "Пт 28 июня 2013 15:30:18 GMT-0700 (PDT)"(new Date()).toString().split(' ')
делит вышеупомянутую строку на каждый пробел и возвращает массив следующим образом: ["Fri", "Jun", "28", "2013", "15:31:14", "GMT-0700", "(PDT)" ](new Date()).toString().split(' ').splice(1,3).join(' ')
берет второе, третье и четвертое значения из вышеуказанного массива, объединяет их с пробелами и возвращает строку «28 июня 2013»источник
Date().split(' ').splice(1,3).join(' ')
Это работает каждый раз:
источник
Также вы можете вызвать метод
toLocaleDateString
с двумя параметрами:Статья на MSDN . Подробнее об этом методе на MDN .
источник
new Date().toLocaleDateString("de-de")
делает трюк для меня.Более чистая и простая версия:
Результат зависит от локали пользователя :
источник
Если вас устраивает формат ГГГГ-ММ-ДД, это тоже подойдет.
new Date().toISOString().split('T')[0]
2018-03-10
источник
Вы можете использовать библиотеку Date.js, которая расширяет объект Date, поэтому у вас может быть метод .today ().
источник
Вы можете получить текущую дату, вызвав статический метод, вот так:
ссылка:
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now
источник
var dtToday = new Date(date.now);
Ответ Варуна не учитывает TimezoneOffset . Вот версия, которая делает:
Это
TimezoneOffset
минуты, а конструктор Date занимает миллисекунды, то есть умножение на60000
.источник
Кратчайший ответ:
new Date().toJSON().slice(0,10)
источник
Результат:
источник
Так же
toISOString()
будет возвращено только текущее время UTC, а не местное время. Мы должны сделать дату, используя функцию .toString (), чтобы получить дату вyyyy-MM-dd
таком формате, какЧтобы ввести дату и время в
yyyy-MM-ddTHH:mm:ss
форматеЧтобы ввести дату и время в
yyyy-MM-dd HH:mm:ss
форматеисточник
Если вам нужен простой
DD/MM/YYYY
формат, я просто придумала это простое решение, хотя оно не содержит префикс пропущенных нулей.источник
будет работать тоже
источник
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ: 23.08.19. Библиотека date-fns работает так же, как moment.js, но имеет гораздо меньше места. Он позволяет вам выбирать, какие функции вы хотите включить в свой проект, чтобы вам не приходилось собирать всю библиотеку для форматирования сегодняшней даты. Если минимальная сторонняя библиотека не подходит для вашего проекта, я одобряю принятое Сэмюэлем Меддоусом решение сверху.
Сохранение истории ниже, потому что это помогло нескольким людям. Но, к сведению, он довольно хакерский и может сломаться без предупреждения, как и большинство решений в этом посте.
РЕДАКТИРОВАТЬ 2/7/2017 Однострочное решение JS:
объяснение
Я обнаружил, что IE10 и IE Edge делают вещи немного по-другому ... пойди разберись. с
new Date(Date.now()).toLocaleString()
вводом,IE10 возвращает:
Я мог бы написать большую длинную функцию и FTFY. Но вы действительно должны использовать moment.js для этого. Мой сценарий просто очищает это и дает вам расширенную традиционную нотацию США:
> todaysDate = "March 06, 2017"
IE EDGE возвращает:
Конечно, это не может быть так просто. Строка даты Edge содержит невидимые символы «•» между каждым видимым. Так что теперь мы будем проверять, не является ли первый символ числом, а первые 3 символа, поскольку оказывается, что любой отдельный символ во всем диапазоне дат в конечном итоге будет точкой или косой чертой в некоторой точке. Так что для простоты, просто .slice () первые три символа (крошечный буфер против будущих махинаций), а затем проверяйте числа. Вероятно, следует отметить, что эти невидимые точки могут потенциально сохраняться в вашем коде. Возможно, я бы покопался в этом, если бы у вас были большие планы, чем просто распечатать эту строку для вашего просмотра.
∴ обновлен однострочник:
Это отстой, чтобы читать. Как насчет:
ОРИГИНАЛЬНЫЙ ОТВЕТ
У меня есть одна строка для вас:
и
[1]
даст вам время суток.источник
Вы можете использовать это
HTML-код
источник
Если вы используете JQuery. Попробуйте этот лайнер:
Вот соглашение для форматирования даты
Вот ссылка для jQuery DatePicker
источник
Простой способ сделать это (учитывая текущий часовой пояс, использующий формат ISO гггг-мм-дд):
Обычно это довольно универсальный совместимый формат даты, и при необходимости вы можете преобразовать его в чистое значение даты:
источник
Вы можете оформить заказ
И посмотрите документацию для конструктора Date (). ссылка на сайт
источник
Что в этом такого? .. Самый чистый способ сделать это
var currentDate=new Date().toLocaleString().slice(0,10);
источник
3/4/2018,
, лучше использоватьnew Date().toJSON().slice(0,10)
..slice(0,10)
Это может помочь вам
Будет напечатана текущая дата в формате дд / мм / гггг
источник
Это хорошо, чтобы получить отформатированную дату
источник
Я думаю, что это старый вопрос, но самый простой способ будет следующим:
Это захватит текущее время, передаст его в строку на основе местоположения, а затем вы можете вызвать функцию CurrentTime для отображения времени. Для меня это был бы самый эффективный способ получить отметку времени для чего-либо.
источник