как получить этот конкретный формат даты и времени в JavaScript - PullRequest
0 голосов
/ 04 ноября 2018

В javascript есть способ конвертировать время даты в следующий формат:

// 11/3/18, 12:00 AM

Date().toString() gives me:

Sat Nov 03 2018 00:00:00 GMT+0000 (UTC)

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

tl; dr: попробуйте ввести это в консоли javascript вашего браузера на веб-сайте moment.js : moment().format('MM/d/YY h:mm A')

Три вещи:

1. Если вы еще этого не сделали, ознакомьтесь со следующими документами по дате для API:

2. Без внешней библиотеки

См. Ответ Эле выше для наиболее элегантного небиблиотеки: https://stackoverflow.com/a/53135859/3191929

Ex. Извлечь мм / дд / гг из даты

const root = new Date();
let month = root.getMonth(); // 0 to 11
let day = root.getDate(); // 1 to 31
let year = root.getFullYear(); year = String(year).slice(2);
// 11/3/18, 12:00 AM mm/dd/yy, hh:mm AM/PM
const output = ``${month}/${day}/${year}``; // mm/dd/yy

И оттуда вы можете изучить API, чтобы получить 24 часа, затем выполнить проверку AM / PM, построить результат и т. Д. И т. Д. (См. Ответ bbram здесь: https://stackoverflow.com/a/8888498/3191929 для соответствующих API-интерфейсов Date для время)

Вот быстрое и грязное решение вашего конкретного вопроса

Ex. Извлечь мм / дд / гг чч: мм AM / PM из даты

function formatDate(root) {
    let month = root.getMonth(); // 0 to 11, 0 = Jan
    month += 1; // 1 to 12, 1 = Jan
    let day = root.getDate(); // 1 to 31
    let year = root.getFullYear();
    year = String(year).slice(2);

// Time transformation appropriated from bbrame
// /7932470/kak-vy-otobrazhaete-datu-i-vremya-javascript-v-12-chasovom-formate-am-pm#7932490
function formatAMPM(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes + ' ' + ampm;
  return strTime;
}

// mm/dd/yy, hh:mm AM/PM
const output = `${month}/${day}/${year} ${formatAMPM(root)}`;
return output;
}

var rootDate = new Date();
console.log(formatDate(rootDate)); // mm/dd/yy hh:mm AM/PM

3. С внешней библиотекой

Используя moment.js , вы можете достичь вышеуказанного с помощью этого:

var root = moment(); // valid moment date
var formatted = root.format('m/d/YY h:mm A');

Для получения более подробной информации смотрите документацию moment.js: https://momentjs.com/docs/#/displaying/format/

Если моментов специально нет, смотрите здесь и другие варианты: https://github.com/you-dont-need/You-Dont-Need-Momentjs

0 голосов
/ 04 ноября 2018

Это альтернатива форматированию даты, функция Date.prototype.toLocaleDateString позволяет форматировать дату в соответствии с параметрами / флагами.

Некоторые движки js управляют процессом форматирования по-разному (поэтому это зависит от реализации), поэтому будьте осторожны. Далее необходимо проверить совместимость в браузерах.

let today = new Date();
var options = { year: 'numeric', month: 'numeric', day: 'numeric', hour12: true, hour: 'numeric', minute: 'numeric' };

console.log(today.toLocaleDateString('en-US', options));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...