Преобразование времени из 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, время: 21:19. |