Просмотр полной версии : Как изменить формат даты у текста?
Здравствуйте. На сайте есть множество блоков с классом 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>
Гробовщик
25.11.2016, 09:42
)))) я из php получаю данные в виде yyyy-mm-dd. phpmyadmin никак мне не поддаётся и я не могу изменить формат даты. Ну я и подумал: если гора не идет к магомеду, магомед пойдет к горе
Ну в MySQL есть функции
DATE_FORMAT( datecol , '%d.%m.%Y') AS datecol
SELECT DATE_FORMAT(dateColumn,'%d.%m.%Y') AS dateColumn FROM table
И ссылочка на документацию ТЫК (http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html)
Да и сам php неплохо справляется с данной задачей
$datetime=2016-11-25;
$today=date("D.m.Y",strtotime($datetime))
ksa предложил конечно хороший и рабочий вариант, но я бы всё равно советовал бы вам использовать для этих целей MySql или php
Я бы пользовался MySQL
всё равно советовал бы вам использовать для этих целей MySql или php
Праильное решееение! (с)
$today=date("D.m.Y",strtotime($datetime))
"d.m.Y"
ksa,
Гробовщик,
Да прикол в том, что у меня не получилось в mysql поменять формат даты.
Я написал "SELECT DATE_FORMAT(dateend,'%d.%m.%Y') AS dateend FROM main", а мне в ответ " Данное выделение не содержит уникального столбца. Изменение сетки, выставление галочки, редактирование, копирование и удаление невозможно".
http://s8.hostingkartinok.com/uploads/images/2016/11/36f8d9603d41950b2cffea0b32149011.png
Внизу можно видеть, что, вроде, формат поменялся, но, перейдя обратно в таблицу, всё останется так, как было...
А причем тут РМА? Это нужно делать в запросе к базе, ибо в самой базе дата всегда будет в формате YYYY-mm-dd, а вот выборку можно делать в любом формате.
То что на картинке означает, что вы не сможете редактировать записи из в РМА пока не укажите уникальный индекс какому либо полю (правда любому, это к слову, а не к действию).
laimas,
так. подождите. Вы предлагаете решить эту проблему на уровне mysql. А потом выходит, что это решается далеко не в mysql, а в самом php файле.
А потом выходит, что это решается далеко не в mysql
Это как раз нужно решать на уровне sql-запроса, а не заниматься ерундой.
короч решил себе проблему вот таким способом
document.querySelectorAll('.date').forEach(functio n(el, index, arr){el.innerText = el.innerText.split('-').reverse().join('.');})
Гробовщик
29.11.2016, 06:19
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 />";
}
В базе у тебя ничего не поменяется, останется то же самое. А с такими костылями ты вспотеешь потом, при пером же исправлении
Гробовщик
29.11.2016, 06:22
laimas,
"d.m.Y"
А может я и планировал день недели выводить=)
P.S. На самом деле хорошее замечание
Да не. Вроде всё ровно. У меня везде идёт yy.mm.dd. А на сайте я либо определённым блокам меняю вид, либо делаю getDate и получаю каждую часть даты отдельно.
drkrol,
формат вывода даты нужно менять в запросах, какой не важно, хоть в клеточку, и как это делается уже не раз говорилось. Вы же вместо простого занимаетесь хренью типа getDate.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot