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

Как конвертировать миллисекунды в читаемую дату?

Следующее:

new Date(1324339200000).toUTCString()

Выходы:

"Tue, 20 Dec 2011 00:00:00 GMT"

Мне нужно вернуть Dec 20. Есть ли лучший метод, который я могу использовать, помимо toUTCString()? Я ищу любой способ разобрать миллисекунды, чтобы вернуть человеческую информацию.

4b9b3361

Ответ 2

Вы можете использовать datejs и конвертировать в разные форматы. Я проверил немного формиата и работает нормально.

var d = new Date(1469433907836);

d.toLocaleString()     // 7/25/2016, 1:35:07 PM
d.toLocaleDateString() // 7/25/2016
d.toDateString()       // Mon Jul 25 2016
d.toTimeString()       // 13:35:07 GMT+0530 (India Standard Time)
d.toLocaleTimeString() // 1:35:07 PM
d.toISOString();       // 2016-07-25T08:05:07.836Z
d.toJSON();            // 2016-07-25T08:05:07.836Z
d.toString();          // Mon Jul 25 2016 13:35:07 GMT+0530 (India Standard Time)
d.toUTCString();       // Mon, 25 Jul 2016 08:05:07 GMT

Ответ 3

Нет, вам нужно будет сделать это вручную.

function prettyDate(date) {
  var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

  return months[date.getUTCMonth()] + ' ' + date.getUTCDate() + ', ' + date.getUTCFullYear();
}

console.log(prettyDate(new Date(1324339200000)));

Ответ 4

Это решение. Позже вы можете разделить на ":" и принять значения массива

 /**
 * Converts milliseconds to human readeable language separated by ":"
 * Example: 190980000 --> 2:05:3 --> 2days 5hours 3min
 */
function dhm(t){
    var cd = 24 * 60 * 60 * 1000,
        ch = 60 * 60 * 1000,
        d = Math.floor(t / cd),
        h = '0' + Math.floor( (t - d * cd) / ch),
        m = '0' + Math.round( (t - d * cd - h * ch) / 60000);
    return [d, h.substr(-2), m.substr(-2)].join(':');
}

//Example
var delay = 190980000;                   
var fullTime = dhm(delay);
console.log(fullTime);

Ответ 5

Мы можем использовать datejs (https://github.com/datejs/Datejs) и конвертировать в форматы по мере необходимости.

var date = new Date(1469433907836);

new Date().toShortTimeString()         // "4:18 PM". Culture specific as per Date.CultureInfo.shortTimePattern.
new Date().toLongTimeString()          // "4:18:34 PM". Culture specific as per Date.CultureInfo.longTimePattern.

Ответ 6

Вы можете сделать это всего несколькими строками чистых js-кодов.

var date = new Date(1324339200000);
    var dateToStr = date.toUTCString().split(' ');
    var cleanDate = dateToStr[2] + ' ' + dateToStr[1] ;
console.log(cleanDate);

возвращает 20 декабря. Надеюсь, что это поможет.

Ответ 7

Я только что проверил это, и он отлично работает

var d = new Date(1441121836000);

Объект данных имеет конструктор, который принимает миллисекунды в качестве аргумента.

Ответ 8

Основываясь на lonesomeday примере (вверху ответьте не на этот), я столкнулся с этим выходом:

undefined NaN, NaN

var datetime = '1324339200000'; //LOOK HERE

function prettyDate(date) {
  var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
                'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

  return months[date.getUTCMonth()] + ' ' + date.getUTCDate() + ', ' + date.getUTCFullYear();
}

console.log(prettyDate(new Date(datetime))); //AND HERE