Здравствуйте! JS совсем не знаю. Требуется вывести в браузер дату в формате DD-MM-YYYY. В базу данных значение попадает функцией PHP time() в виде числа 1511188197. Затем это значение выводится магическим способом при помощи JS в браузер таким методом: Код (Javascript): structureItem: function (element) { console.log('Obj!', element); var date = new Date(element.date); var formatDate = date.getFullYear() +"-"+date.getMonth()+1 +"-"+date.getDate(); var $itemAuthor = $('<footer />', { class: 'item__author', text: 'Автор: ' + element.author + '. ' + 'Дата: ' + formatDate }); $itemAuthor.appendTo($container); return $container; } Еще имеется код: Код (Javascript): $.ajax({ ... for (var i = 0; i < data.length; i++){ //Получаем контейнер вместе с элементами var htmlCodeItem = self.structureItem(data[i]); //Добавляем новость на страницу $(self.selectorContainerForContent).append(htmlCodeItem); self.startData++; } ... В браузере отображается результат: Автор: Gleb. Дата: 1970-01-18 При любых других значениях в базе данных (например, 1497291468, или 1487573783) все равно выводится 1970-01-18. В Интернете нашел, что "Класс JS Date принимает дату в формате 2017-12-20 (ГОД-МЕСЯЦ-ДЕНЬ), он не умеет работать с датой вида 1511169520." Это верно? Неужели невозможно средствами JS вернуть дату в формате (ГОД-МЕСЯЦ-ДЕНЬ) из значения в базе данных в формате, заносимом функцией PHP time()?
Код (Javascript): var date = new Date(); date.setTime(1511188197 * 1000); // js нужно время в миллисекундах var month = date.getMonth()+1; var formatDate = date.getFullYear()+"-"+month+"-"+date.getDate();
скопировал отредактированный код. Вывело 2017-11-20. А с помощью PHP должно вывести 2017-06-30: PHP: /*Преобразование формата даты*/ protected function formatDate($time) { return date("Y-m-d H:i:s", $time); }