cotonti.com : Как выводить даты? https://www.cotonti.com Последние сообщения в теме Cotonti en Mon, 06 Oct 2025 11:36:32 -0000 Kopusha Тезка Спасибо, я по своей наивности полагал что это именно число а не текст и к нему можно сделать +1. Разобрался.

Added 39 seconds later:

У меня сбило то что верхней строке есть функция равно оказывается она сравнивает именно текстовые значение.

]]>
ср, 01 мар 2017 09:04:00 -0000
Macik Эту статью читали?

В вашем примере, во-первых, перед `ELSE` пропущена угловая скобка, во-вторых, и что главное,  вы складываете строку (из `cot_date`) и число. 
В общих чертах путь решения может быть таким — вам надо брать исходное значение (timestamp), вычислять из него  кол-во дней целых дней прошедших с начала «эпохи», и уже сравнивать эти величины.

]]>
вт, 28 фев 2017 18:31:30 -0000
Kopusha #36557 Macik:

Текущие время находится в переменной «now» масива $sys. Т.е. в шаблоне к ней можно обратиться как {PHP.sys.now}

Для спавнения используем условие в шаблоне (пример для Сиены «на вскидку» - не тестировал):

<!-- IF {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)} == {PHP.sys.now|cot_date('date_full', $this)} -->
          Сегодня в {PAGE_ROW_DATE_STAMP|cot_date('time_medium', $this)}
<!-- ELSE -->
          {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}
<!-- ENDIF -->

 

Народ как сделать "вчера в 9-45" ? То есть 3 вариант - дата/вчера время/сегодня веремя. Спасибо!

Added 10 minutes later:

Ну и заодно тыкните носом как "считать" - то есть от текущего времени хочу отнять время публикации и получить не "сегодня в 22:30" а "7 часов назад".

 

 

Added 2 minutes later:

Почитатать то я могу теоритически через cot_date('G') а вот как вывести результат? 

Added 22 hours later:

Думал сделаю на свежую голову а не тут то было))))

<!-- IF {PHP.sys.now|cot_date('Y.m.d', $this)} == {PAGE_ROW_DATE_STAMP|cot_date('Y.m.d', $this)} -->
 Сегодня 
!-- ELSE IF {PHP.sys.now|cot_date('Y.m.d', $this)} == {PAGE_ROW_DATE_STAMP|cot_date('Y.m.d', $this)} + 1 -->
Вчера 
<!-- ELSE IF {PHP.sys.now|cot_date('Y.m.d', $this)} - {PAGE_ROW_DATE_STAMP|cot_date('Y.m.d', $this)} >= 2 -->
иное
<!-- ENDIF -->

Так не работает, или я с условиями ошибся или просто не умеет так считать (что вряд ли)

]]>
вс, 26 фев 2017 16:11:48 -0000
Leshkens Alex300, тьфу, а ведь точно. Что-то совсем замотался. Спасибо!

]]>
пт, 03 мая 2013 15:52:40 -0000
Alex300 <!-- {PHP.sys.now|cot_date('G')} < 6 --> То что делать ночью <!-- ELSE --> А тут днем <!-- ENDIF --> ]]> пт, 03 мая 2013 15:31:11 -0000 Leshkens Можно как-то логикой сделать, чтобы в определенном временном диапазоне (например с 1:00 ночи до 7:00 утра) отображалось одно, а в остальное другое?

Добавлено 59 минуты спустя:

Вот такой вот конструкцией решил вопрос. Может есть возможность упростить?

<!-- IF {PHP.sys.now|cot_date('G')} == 1 OR {PHP.sys.now|cot_date('G')} == 2 OR {PHP.sys.now|cot_date('G')} == 3 OR {PHP.sys.now|cot_date('G')} == 4 OR {PHP.sys.now|cot_date('G')} == 5 OR {PHP.sys.now|cot_date('G')} == 6 -->

 

]]>
пт, 03 мая 2013 09:36:49 -0000
Clever Да, генуя. 25я...

Добавлено 1 дня спустя:

Сделал.

Так как простых путей нет, то пошел другим...

 

в news.php добавляем следующие строчки:

$nowDate = getdate($sys['now']);

и

"PAGE_ROW_TODAY"  => @date($cfg['formatyearmonthday'], mktime(0, 0, 0, $nowDate['mon'], $nowDate['mday'], $nowDate['year']) + $usr['timezone'] * 3600),

"PAGE_ROW_TIME"  => @date("H:i", $pag['page_date'] + $usr['timezone'] * 3600),

далее в news.tpl

условие

<!-- IF {PAGE_ROW_DATE} != {PAGE_ROW_TODAY} -->
        {PAGE_ROW_DATE} -
        <!-- ELSE -->
        Сегодня в {PAGE_ROW_TIME} -
        <!-- ENDIF -->

результат на главной Auto62rus.ru

 

Спасибо за подсказки и советы Alex300, ошибки в коде и неоптимальность автора поста.

 

]]>
ср, 19 дек 2012 08:29:36 -0000
Kort Это ж Генуя?

]]>
ср, 19 дек 2012 05:56:44 -0000
Clever В чистом виде сейчас проверить не могу, пробовал вставлять по отдельности {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}, {PHP.sys.now|cot_date('date_full', $this)} и {PAGE_ROW_DATE_STAMP|cot_date('time_medium', $this)}

вставку производил в news.tpl так как мне надо сравнивать время создания новости с текущей. На сайте уже выводится дата, но через ява скрипт.

 

сайт: Auto62rus.ru

 

Добавлено 13 часа спустя:

Проверил. {PHP.sys.now} осуществляет вывод, а вот {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}, {PHP.sys.now|cot_date('date_full', $this)} и {PAGE_ROW_DATE_STAMP|cot_date('time_medium', $this)} приводят к зависанию

]]>
вт, 18 дек 2012 05:36:21 -0000
Macik Сами по себе значения работают? Если просто в шаблон вставить {PHP.sys.now} и соответствующий шаблону {*_DATE_STAMP}?

]]>
пн, 17 дек 2012 20:21:49 -0000
Clever Что-то я пооже перемудрил при обновлении...

у меня не прокатывает... зависает загрузка страницы

]]>
пн, 17 дек 2012 18:40:07 -0000
Macik Текущие время находится в переменной «now» масива $sys. Т.е. в шаблоне к ней можно обратиться как {PHP.sys.now}

Для спавнения используем условие в шаблоне (пример для Сиены «на вскидку» - не тестировал):

<!-- IF {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)} == {PHP.sys.now|cot_date('date_full', $this)} -->
          Сегодня в {PAGE_ROW_DATE_STAMP|cot_date('time_medium', $this)}
<!-- ELSE -->
          {PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}
<!-- ENDIF -->

 

]]>
пн, 17 дек 2012 09:54:17 -0000
Clever это в сиене? или и в геноа то же?

Добавлено 2 минуты спустя:

Идея такова, что для новостей от сегодня хочется вместо даты выводить "сегодня в 12:20"... но не с чем сравнивать время новости...

]]>
сб, 15 дек 2012 15:10:01 -0000
Trustmaster Сейчас вот так. То есть используем тег даты с постфиксом _STAMP, пропускаем его через cot_date() и получаем дату в нужном формате.

]]>
сб, 15 дек 2012 14:49:23 -0000
Clever А сейчас все на том же месте? или появился тег? Кто подскажет?

]]>
сб, 15 дек 2012 14:33:52 -0000
Oughtem esclkm, где-то на форуме я видел ваш плагин "Новости" с классной админкой. Чудесная штука. Там было так: кнопалка "Добавить" - добавил категорию и прописал каким тегом выводить новостную ленту из неё. Вот и тут классно было бы сделать так: везде в тпл стоит один тег {DATE}, на страничке /admin.php?m=config&n=edit&o=core&p=time стоит кнопалка "добавить", нажав её, из селектора выбираем тпл и рядом, в поле указываем какой формат даты будет для этого тпл выводиться стандартным тегом {DATE}. Получаем, что проставив один тег везде вы можем выводить разные форматы даты, настраивая их в админке.]]> ср, 28 июл 2010 00:33:38 -0000 esclkm Суть как я его понимаю - необходим вывод дат как того хочет пользователь.
текущие проблемы:
1. невозможно вывести дату на русском и тд (месяц и день недели).
2. Нельзя применять для разных частей разные форматы дат. - Это можно обойти 2 вариантами.
А. Сделать механизм Универсального вывода дат (например {PAGE_DATE.FULL} и {PAGE_DATE.SHORT} - чтобы вывести полную дату и краткий формат даты
Б. В каждом модуле вывести настройку - формат даты - и в соответсвие с ней формировать дату.

Мне если честно намного больше импонирует первый вариант.]]>
вт, 27 июл 2010 15:17:02 -0000
Oughtem о каких недоделанных фичах и зародышах идет речь О тех, которые находятся на странице /admin.php?m=config&n=edit&o=core&p=time
2.
Есть форматы выводы дат, которые замечательно работали и работают
Об этой замечательной работе собственно и пост. Ничего замечательно в выводе дат я не вижу. Не понятно в каком тпл какой тег работает. Настройка параметров двига крайне скудна.
3.
Есть плагин, который с версии 0.6.6 беспроблемно обеспечивает более гибкий вывод дат
Kort, это просто замечательно, что он есть и вы просто молодец, что его написали... но позволю себе повторится для тех, кто невнимательно читает: идея недоделанные зародыши функционала самого движка заменять хорошими плагинами - гиблая. (Что за зародыши см. в п.1) Если функционала нет - то да, надо писать плуг, если он есть и слаборазвит - лучше дописать его. Если его не дописывать, то его лучше удалить.]]>
вт, 27 июл 2010 00:51:07 -0000
Kort своих комментариях, никаким образом не связаны ни с первым, ни со вторым, ни с третьим. Если вы не использовали патч своевременно и ваши проблемы связаны с этим, задайте вопрос в соответствующем разделе форума.]]> пн, 26 июл 2010 16:40:39 -0000 Oughtem Пихать каждую хотелку в движок непродуктивно В связи с тем, что эта "хотелка" не реализована должным образом и был написан плуг Metadates.
Но пихать её никто не предлагает. Я предлагаю её доделать, т.к. она уже есть.

Вообще идея недоделанные зародыши функционала самого движка заменять хорошими плагинами - гиблая. Это, считайте, как косметический ремонт. Сначала хорошо, а потом - траблы. Обновился на новую версию и плуг не работает.]]>
сб, 24 июл 2010 00:35:42 -0000
Kort плагина Metadates. Связки из тегов замечательно решают все проблемы: выводится все от года до секунд в цифровом и вербальном виде во всех необходимых шаблонах, разделители для даты и времени можно использовать любые. Если мы все-таки что-то упустили, пишите -- добавим.]]> пт, 23 июл 2010 15:32:42 -0000 Oughtem
По-моему гораздо удобнее в админке настроить вид даты и проставить нужный тег в тпл, нежели писать конструкции типа {PAGE_ROW_DATE_DD}{PAGE_ROW_DATE_MM}{PAGE_ROW_DATE_YYYY}.

Это недоделанная фича или мы чего-то не знаем?]]>
пт, 23 июл 2010 06:24:24 -0000
Kort Плагин Metadates]]> пт, 23 июл 2010 04:38:01 -0000 Sergeich ]]> пт, 23 июл 2010 03:24:00 -0000 Clever Или немешало бы это сразу в date запихнуть]]> пт, 23 июл 2010 02:09:16 -0000 Oughtem
Полный формат даты : По умолчанию Y-m-d H:i [R]
Укороченный формат даты : По умолчанию m-d [R]
Формат даты для форумов : По умолчанию m-d H:i [R]
Обычный формат даты : По умолчанию Y-m-d [R]

Какими переменными или тегами выводятся в тпл эти даты? К примеру в page.tpl тег {PAGE_DATE} выводит "Полный формат даты", а какими тегами вывести остальные?]]>
пт, 23 июл 2010 00:19:00 -0000