Преобразование времени из json
День добрый. нужна помощь.
Есть файл json из него я получаю таблицу с 5ю колонками. я ее вывожу на экран вот таким образом
$(function(){
$.getJSON('echo.json', function(data) {
for(var i=0;i<data.values.length;i++){
$('#users').append('<tr><td>' + data.values[i].name.v + '</td>' +
'<td>' + data.values[i].firstName.v + '</td>' +
'<td>' + data.values[i].birthDate.v + '</td>' +
'<td><a href="tel:'+ data.values[i].tel.v + '" class="ng-binding">' + data.values[i].tel.v + '</a></td>' +
'<td><a target="_blank" href="http://maps.google.com/?q=' + data.values[i].address.v + '">' + data.values[i].address.v + '</a></td></tr>');
}
$('.spc').append('<caption>' + data.values.length + '</caption>')
});
});
ну и в html (если это нужно )
<table id="users" class="table spc" >
<tr>
<td class="thd" onclick="sort(this)" title="Нажмите на заголовок, чтобы отсортировать колонку">Имя</td>
<td class="thd" onclick="sort(this)" title="Нажмите на заголовок, чтобы отсортировать колонку">Фамилия</td>
<td class="thd" onclick="sort(this)" title="Нажмите на заголовок, чтобы отсортировать колонку">Дата рождения</td>
<td class="thd" onclick="sort(this)" title="Нажмите на заголовок, чтобы отсортировать колонку">Телефон</td>
<td class="thd" onclick="sort(this)" title="Нажмите на заголовок, чтобы отсортировать колонку">Адрес</td>
</tr>
</table>
Проблема в том. что в файле json дата сохранена в таком вот формате 1955-04-24T05:00:00.000Z мне нужно подсчитать с нее возраст и вывести в формате гггг.мм.дд |
AlexDomson,
https://learn.javascript.ru/datetime Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
AlexDomson,
http://javascript.ru/forum/misc/1242...tml#post314073 возраст, количество полных лет на текущее время
function yearsOld(c, b) {
var a = new Date;
a.setTime(Date.parse(c));
var d = a.getFullYear(),
e = a.getMonth(),
f = a.getDate();
b ? a.setTime(Date.parse(b)) : a = new Date;
return a.getFullYear() - d - (0 > (a.getMonth() - e || a.getDate() - f))
};
alert(yearsOld('1955-04-24T05:00:00.000Z'));
|
function getAge(birthStr) {
var year=parseInt(birthStr.substr(0, 4));
var month=parseInt(birthStr.substr(5, 2))-1;
var day=parseInt(birthStr.substr(8, 2));
var today=new Date();
var age=today.getFullYear()-year;
if(today.getMonth()<month || (today.getMonth()==month && today.getDate()<day)){age--;}
return age;
}
$(function(){
$.getJSON('echo.json', function(data) {
for( var i=0;i<data.values.length;i++){
var age = getAge(data.values[i].birthDate.v);
var year = data.values[i].birthDate.v.substr(0, 4);
var month = data.values[i].birthDate.v.substr(5, 2);
var day = data.values[i].birthDate.v.substr(8, 2);
$('#users').append('<tr><td>' + data.values[i].name.v + '</td>' +
'<td>' + data.values[i].firstName.v + '</td>' +
'<td>' + age + '(' + year + '-' + month + '-' + day + ')' + '</td>' +
'<td><a href="tel:'+ data.values[i].tel.v + '" class="ng-binding">' + data.values[i].tel.v + '</a></td>' +
'<td><a target="_blank" href="http://maps.google.com/?q=' + data.values[i].address.v + '">' + data.values[i].address.v + '</a></td></tr>');
}
$('.spc').append('<caption>' + data.values.length + '</caption>')
});
});
сам уже сделал, вот таким образом достает из json файла нужную инфу и считает |
AlexDomson, зачем писать свой деревенский парсер, если рони тебе показал индустриальный метод.
|
| Часовой пояс GMT +3, время: 16:46. |