Вопрос: Как получить текущую дату в JavaScript?


Как получить текущую дату в JavaScript?


1635


источник


Ответы:


использование new Date()для создания нового Dateобъект, содержащий текущую дату и время.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Это даст вам сегодняшнюю дату в формате mm / dd / yyyy.

Просто измените today = mm +'/'+ dd +'/'+ yyyy;в любом формате.


1952



var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Использовать replaceесли вы собираетесь повторно использовать utcпеременная, такая как new Date(utc), так как Firefox и Safari не распознают дату с тире.


334



ОБНОВЛЕНО! , Прокрутить вниз

Если вам нужно что-то простое для конечного пользователя ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

ОБНОВЛЕНИЕ УБИЛЯ После долгих промедлений я наконец GitHubbed и обновил это с помощью окончательного решения, которое я использовал для себя. У него даже были исправления в последнюю минуту, чтобы сделать его слаще! Если вы ищете старый jsFiddle, см. это ,

Это обновление входит в 2 ароматы, все еще относительно небольшие, хотя и не такие маленькие, как мой выше, оригинальный ответ. Если вы хотите очень мало, пойдите с этим.
Также Примечание: это все еще менее раздуто, чем moment.js. Хотя moment.js хорош, imo, он имеет много светских методов, которые требуют учебного момента, как если бы это был язык. Мой здесь использует тот же общий формат, что и PHP: Дата ,

Быстрые ссылки

Вкус 1 new Date().format(String)Мой личный фав. Я знаю табу, но отлично работает с объектом Date. Просто знайте о любых других модах, которые могут возникнуть для объекта Date.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Вкус 2 dateFormat(Date, String)Более традиционный метод «все-в-одном». Имеет все возможности предыдущего, но вызывается методом с параметром Date.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavor (требуется jQuery) $.date(Date, String)Это содержит гораздо больше, чем просто formatвариант. Он расширяет базовый объект Date и включает такие методы, как addDays, Для получения дополнительной информации см. Гит ,

В этом мод символы формата вдохновлены PHP: Дата , Полный список см. На мой ПРОЧТИ МЕНЯ

Этот мод также имеет намного более длинный список готовых форматов. Чтобы использовать готовый формат, просто введите его имя. dateFormat(new Date(), 'pretty-a');

  • 'соединение'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'iso Year Week' == 'BY \\ WW'
    • 'iso Year Week 2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Y-m-d h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Y-m-d \\ TH: i: s.u'
    • 'soap2' == 'Y-m-d \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Y-n-j \\ TG: i: s'
  • «константы»
    • 'AMERICAN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / d / Y'
    • 'AMERICANSHORTWTIME' == 'm / d / Y h: i: sA'
    • 'ATOM' == 'Y-m-d \\ TH: i: sP'
    • 'COOKIE' == 'l d-M-Y H: i: s T'
    • 'ЕВРОПЕЙСКИЙ' == 'j F Y'
    • 'EUROPEANSHORT' == 'd.m.Y'
    • 'EUROPEANSHORTWTIME' == 'd.m.Y H: i: s'
    • 'ISO8601' == 'Y-m-d \\ TH: i: sO'
    • 'LEGAL' == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l d-M-y H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d M Y H: i: s O'
    • 'RFC2822' == 'D d M Y H: i: s O'
    • 'RFC3339' == 'Y-m-d \\ TH: i: sP'
    • 'RSS' == 'D d M Y H: i: s O'
    • 'W3C' == 'Y-m-d \\ TH: i: sP'
  • 'Симпатичная'
    • 'pretty-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'pretty-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'pretty-f' == 'g: iA'

Как вы можете заметить, вы можете использовать двойной \чтобы избежать символа.



185



Если вам просто нужна дата без информации о времени, используйте:

var today = new Date();
    today.setHours(0, 0, 0, 0);

document.write(today);


109



Попробуй это:

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Результат будет подобен

15/2/2012

90



Если вы ищете намного более подробный контроль над форматами дат, я настоятельно рекомендую проверить моментальные действия. Потрясающая библиотека - и только 5 КБ. http://momentjs.com/


57



The shortest possible:

let today = new Date().toISOString().slice(0, 10)

It returns "2016-03-10"


52



You can use moment.js: http://momentjs.com/

var m = moment().format("DD/MM/YYYY");

document.write(m);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>


44