2016-01-26 2 views
2

Я следующее значения даты и времени в формате JSON:даты и времени преобразовать в строки даты - Javascript

Fri Jan 22 2016 14:34:38 GMT-0500 

Я хотел бы показать что-то вроде "January 22, 2016"

Как я могу добиться этого в JavaScript. У меня есть библиотеки JQuery, Extjs.

+3

Возможный дубликат [Как отформатировать дату JavaScript] (http://stackoverflow.com/questions/3552461/how-to-format-a- javascript-date) –

+0

проверить библиотеку 'moment.js', вы можете использовать' moment ("Fri Jan 22 2016 14:34:38 ​​GMT-0500"). format ("LL") 'для получения даты форматирования – Saba

ответ

0

Этот вопрос адресован тому же самому вопросу. Вы можете использовать функции, показанные здесь, для построения строки даты, как вы хотите.

// This could be any Date String 
var str = "Fri Feb 08 2013 09:47:57 GMT +0530 (IST)"; 
var date = new Date(str); 

Это будет дать вам доступ ко всем функциям Дата (MDN)

Например:

var day = date.getDate(); //Date of the month: 2 in our example 
var month = date.getMonth(); //Month of the Year: 0-based index, so 1 in our example 
var year = date.getFullYear() //Year: 2013 

Extract date and time from string using Javascript

+0

@JohnHascall Извините, новичок в этом. Будет помнить в следующий раз. Благодаря! –

+0

Не беспокойтесь, мы все новые когда-нибудь. –

1

Попробуйте создать объект, имеющий свойства сокращенных месяцев значения от полного месяца, используя for..in петля, String.prototype.slice(), String.prototype.replace()

var months = { 
 
"Jan":"January", 
 
    "Feb":"February", 
 
    "Mar":"March", 
 
    "Apr":"April", 
 
    "May":"May", 
 
    "Jun":"June", 
 
    "Jul":"July", 
 
    "Aug":"August", 
 
    "Sep":"September", 
 
    "Oct":"October", 
 
    "Nov":"November", 
 
    "Dec":"December" 
 
}; 
 

 
var date = "Fri Jan 22 2016 14:34:38 GMT-0500"; 
 
// extract "Jan 22 2016" from `date` 
 
var d = date.slice(4, -18); 
 

 
for (var prop in months) { 
 
    if (new RegExp(prop).test(d)) { 
 
    // replace abbreviated month with full month name 
 
    d = d.replace(prop, months[prop]); 
 
    // replace day with day followed by comma `,` character 
 
    d = d.replace(/(\d{2})(?=\s)/, "$1,") 
 
    } 
 
} 
 

 
document.body.textContent = d

0

Найдено этот безумный метод здесь, но работал!

Converting milliseconds to a date (jQuery/JS)

Вот скрипка, что i'v сделано

https://jsfiddle.net/Ripper1992/hj6L2Lvz/

var now = new Date("Fri Jan 22 2016 14:34:38 GMT-0500"); 
alert(now.customFormat("#MMMM# #DD#, #YYYY#")); 

CustomFormat функция вызывается для получения каждой части данных, разобрать и заменить на основе # MMMM # или # DD # или # SS #, определяемый пользователем.

А вот полная функция с документацией http://phrogz.net/JS/FormatDateTime_JS.txt

Смежные вопросы