Подтвердить что ты не робот

Javascript: вывод текущей даты и времени в формате ГГГГ/мм/дд чч: м: сек

Мне нужно вывести текущее время UTC в виде строки в следующем формате:
YYYY/mm/dd hh:m:sec

Как мне добиться этого с помощью Javascript?

4b9b3361

Ответ 1

Вы можете создать его вручную:

var m = new Date();
var dateString = m.getUTCFullYear() +"/"+ (m.getUTCMonth()+1) +"/"+ m.getUTCDate() + " " + m.getUTCHours() + ":" + m.getUTCMinutes() + ":" + m.getUTCSeconds();

и чтобы заставить две цифры на требуемые значения, вы можете использовать что-то вроде этого:

("0000" + 5).slice(-2)

Что будет выглядеть так:

var m = new Date();
var dateString =
    m.getUTCFullYear() + "/" +
    ("0" + (m.getUTCMonth()+1)).slice(-2) + "/" +
    ("0" + m.getUTCDate()).slice(-2) + " " +
    ("0" + m.getUTCHours()).slice(-2) + ":" +
    ("0" + m.getUTCMinutes()).slice(-2) + ":" +
    ("0" + m.getUTCSeconds()).slice(-2);

console.log(dateString);

Ответ 3

Нет библиотеки, одна строка, правильно дополнена

str = (new Date()).toISOString().slice(0, 19).replace(/-/g, "/").replace("T", " ");

Он использует встроенную функцию Date.toISOString(), Date.toISOString() мс, заменяет дефисы косыми чертами и заменяет T на пробел, чтобы перейти от, скажем, '2019-01-05T09:01:07.123' к '2019/01/05 09:01:07'.

Местное время вместо UTC

now = new Date();
const offsetMs = now.getTimezoneOffset() * 60 * 1000;
const dateLocal = new Date(now.getTime() - offsetMs);
str = dateLocal.toISOString().slice(0, 19).replace(/-/g, "/").replace("T", " ");

Ответ 4

Не проверено, но что-то вроде этого:

var now = new Date();
var str = now.getUTCFullYear().toString() + "/" +
          (now.getUTCMonth() + 1).toString() +
          "/" + now.getUTCDate() + " " + now.getUTCHours() +
          ":" + now.getUTCMinutes() + ":" + now.getUTCSeconds();

Конечно, вам нужно будет отложить часы, минуты и секунды до двух цифр, или иногда вы будете получать странные взгляды, такие как "2011/12/2 19: 2: 8."

Ответ 5

Я написал простую библиотеку для манипулирования объектом дат в JavaScript. Вы можете попробовать это:

var dateString = timeSolver.getString(new Date(), "YYYY/MM/DD HH:MM:SS.SSS")

Библиотека здесь: https://github.com/sean1093/timeSolver

Ответ 6

Проводка другого решения script DateX (автор) для любого заинтересованного

DateX НЕ обертывает исходный объект Date, но вместо этого предлагает идентичный интерфейс с дополнительными методами для легкого форматирования, локализации, анализа, разграничения и проверки дат. Таким образом, можно просто сделать new DateX(..) вместо new Date(..) или использовать утилиты lib как date или даже в качестве оболочки или замены вокруг класса Date.

Используемый формат даты идентичен php date format.

c-like format также поддерживается (хотя и не полностью)

для опубликованного примера (YYYY/mm/dd hh:m:sec) используемый формат будет Y/m/d H:i:s например

var formatted_date = new DateX().format('Y/m/d H:i:s');

или

var formatted_now_date_gmt = new DateX(DateX.UTC()).format('Y/m/d H:i:s');

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC