Как изменить формат даты у текста?
Здравствуйте. На сайте есть множество блоков с классом date. Формат даты в них указан, как "гггг-мм-дд". Как изменить у всех блоков с классом date вид на "дд.мм.гггг"? т.е. через точку и в обратном порядке. https://jsfiddle.net/bmsz7adL/
|
)))) я из php получаю данные в виде yyyy-mm-dd. phpmyadmin никак мне не поддаётся и я не могу изменить формат даты. Ну я и подумал: если гора не идет к магомеду, магомед пойдет к горе
|
drkrol, как вариант...
<div class="date">2016-11-25</div> <div class="date">2016-11-26</div> <div class="date">2016-11-27</div> <input type="text" value="2016-11-29"> <div class="never">2016-12-01</div> <script type='text/javascript'> var obj=document.querySelectorAll('.date'); for (var i=0; i<obj.length; i++){ obj[i].innerHTML=obj[i].innerHTML.replace(/(\d+)-(\d+)-(\d+)/,'$3.$2.$1'); }; </script> |
Цитата:
Код:
DATE_FORMAT( datecol , '%d.%m.%Y') AS datecol Да и сам php неплохо справляется с данной задачей $datetime=2016-11-25; $today=date("D.m.Y",strtotime($datetime)) ksa предложил конечно хороший и рабочий вариант, но я бы всё равно советовал бы вам использовать для этих целей MySql или php Я бы пользовался MySQL |
Цитата:
|
Цитата:
|
ksa,
Гробовщик, Да прикол в том, что у меня не получилось в mysql поменять формат даты. Я написал "SELECT DATE_FORMAT(dateend,'%d.%m.%Y') AS dateend FROM main", а мне в ответ " Данное выделение не содержит уникального столбца. Изменение сетки, выставление галочки, редактирование, копирование и удаление невозможно". ![]() Внизу можно видеть, что, вроде, формат поменялся, но, перейдя обратно в таблицу, всё останется так, как было... |
А причем тут РМА? Это нужно делать в запросе к базе, ибо в самой базе дата всегда будет в формате YYYY-mm-dd, а вот выборку можно делать в любом формате.
То что на картинке означает, что вы не сможете редактировать записи из в РМА пока не укажите уникальный индекс какому либо полю (правда любому, это к слову, а не к действию). |
laimas,
так. подождите. Вы предлагаете решить эту проблему на уровне mysql. А потом выходит, что это решается далеко не в mysql, а в самом php файле. |
Цитата:
|
короч решил себе проблему вот таким способом
document.querySelectorAll('.date').forEach(function(el, index, arr){el.innerText = el.innerText.split('-').reverse().join('.');}) |
drkrol,
Друг, ну что ты ерундой страдаешь Вместо твоего запроса "SELECT" ты пишешь тот, что сам написал выше и его выводишь (делаешь это в php файле) $strSQL = "SELECT DATE_FORMAT(dateend,'%d.%m.%Y') AS dateend FROM main"; $rs = mysql_query($strSQL); while($row = mysql_fetch_array($rs)) { echo $row['dateend'] . "<br />"; } В базе у тебя ничего не поменяется, останется то же самое. А с такими костылями ты вспотеешь потом, при пером же исправлении |
laimas,
Цитата:
P.S. На самом деле хорошее замечание |
Да не. Вроде всё ровно. У меня везде идёт yy.mm.dd. А на сайте я либо определённым блокам меняю вид, либо делаю getDate и получаю каждую часть даты отдельно.
|
drkrol,
формат вывода даты нужно менять в запросах, какой не важно, хоть в клеточку, и как это делается уже не раз говорилось. Вы же вместо простого занимаетесь хренью типа getDate. |
Часовой пояс GMT +3, время: 05:22. |