2015-04-24 2 views
0

Как бы перевести дату, созданный динамически в следующем формате:Перевод текста в динамически созданный элемент в другой формат

<h3 style="margin-top: 0px" class="departure-datetime">2015-05-04 16:00:00</h3> 

к чему-то более читаемым, как это:

Monday 04 May - 01:00 

с помощью JQuery?

Я понимаю, что включает в себя, указывая на departure-datetime, используя функцию .on при открытии ссылка:

$('#search-link').click(function() { 
    // code to target all the elements with the class `departure-datetime` 
    // change them to "2015-05-04 16:00:00" to "Monday 04 May - 01:00" 
}); 
+0

Почему бы вам не изменить формат в источнике? –

+0

@JaredFarrish, возможно, у него нет доступа для изменения источника ... – Populus

ответ

1

Использование Date.parse() и несколько связанных функций, мы можем сделать:

$('.departure-datetime').each(function() { 
    var value = $(this).text().trim().split(' '), 
     date = value[1].split(':'), 
     day = value[0].split('-'), 
     days = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'], 
     months = ['January','February','March','April','May','June','July','August','September','October','November','December']; 

    date.pop(); 

    $(this).html(days[new Date(Date.parse('2015-05-04')).getDay()] +' '+day[2]+' '+ months[new Date(Date.parse(value[0])).getMonth()] + ' - ' + date[0] + ':' + date[1]); 

}); 

результатом является:

Понедельник 04 Май - 16:00

+0

Спасибо @ vihan1086, как бы вы сделали это 24 часа? – methuselah

+0

@methuselah О, это еще проще, я обновлю свой ответ – Downgoat

+0

Спасибо миллион – methuselah

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