Метка времени преобразования JavaScript - PullRequest
10 голосов
/ 18 февраля 2012

Мне интересно, как лучше конвертировать метку времени этого формата -

2012-02-18 14:28:32

в представление даты этого формата -

Saturday Feb 2012 14:28:32

Большое спасибо:)

Ответы [ 6 ]

5 голосов
/ 18 февраля 2012

Функции даты в Javascript довольно плохие ... У вас есть возможность преобразовать в UTC http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_toutcstring

Но если бы это был я, я бы посмотрел на Datejs: http://www.datejs.com/ лучшая дата в JavaScriptAPI для меня

Пожалуйста, ознакомьтесь с началом работы с Datejs: http://www.datejs.com/2007/11/27/getting-started-with-datejs/

3 голосов
/ 18 февраля 2012

Рассмотрите возможность использования datejs, то есть камней!

var mydate = Date.parse('2012-02-18 14:28:32');
var result = mydate.toString('dddd MMM yyyy h:mm:ss');
console.log(result);
3 голосов
/ 18 февраля 2012

Сначала необходимо определить массив английских слов (воскресенье, понедельник, февраль, мар и т. Д.):

var daysOfWeek = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
    monthsOfYear = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

Чтобы иметь возможность вставить дополнительные 0 в начале минути в секундах определите функцию заполнения для прототипа String:

String.prototype.padLeft = function(padString,length){
    var toReturn = String(this);
    while(toReturn.length < length){
        toReturn = padString + toReturn;
    }
    return toReturn;
}

Отформатируйте дату и время следующим образом:

var time = new Date(), formattedDate, formattedTime, wholeThing;
formattedDate = daysOfWeek[time.getDay()] + ", " + monthsOfYear[time.getMonth()] + " " + time.getDate() + ", " + time.getFullYear();
formattedTime = time.getHours() + ":" + time.getMinutes().padLeft("0",2) + time.getSeconds().padLeft("0",2);

Все это можно получить, конкатенируя formattedDate и formattedTime, как в:

wholeThing = formattedDate + " " + formattedTime;
1 голос
/ 25 июня 2017

Я бы предложил использовать для этого внешнюю библиотеку js.Насколько я понимаю, Moment.js - лучшая библиотека для преобразования даты и времени.

В этом случае она выполняет работу в одну строку.Просто добавьте moment.js в свой проект, а затем выполните

var timestamp = '2012-02-18 14:28:32';
var formattedTime = moment(timestamp).format('dddd MMM YYYY HH:mm:ss'); // Saturday Feb 2012 14:28:32
1 голос
/ 18 февраля 2012

JavaScripts. В объекте Date отсутствуют методы для форматирования.Я хотел бы рассмотреть возможность использования внешней библиотеки, например , этой .Кажется, это то, что вы ищете.

0 голосов
/ 18 февраля 2012

попробуйте этот блог, у него достаточно форматов даты:

http://blog.stevenlevithan.com/archives/date-time-format

...