0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 3697 Просмотров
*

Helios

  • Захожу иногда
  • 416
  • 30 / 1
  • Аэтошозадеталь?
mosFormatDate и смещение
« : 08.10.2008, 01:01:14 »
Возник такой вопрос. Есть дата и время записанные в виде 2008-10-10 00:00:00
Когда пишу echo mosFormatDate($rel_date); мне выводит
09.10.2008 г.

т.е. формат вывода времени правильный, но вот дата то 9 октября, вместо 10-го из записи...
пробовал напрямую strftime, но это уже от безысходности. к тому же дата выводится в разных страницах, и везде на 1 день меньше чем нужно.

с настройками на сервере все в порядке.
в самой joomla с датой тоже все в порядке. а вот в моем компоненте что-то совсем плохо.
/* Have a nice day! */
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: mosFormatDate и смещение
« Ответ #1 : 08.10.2008, 01:20:49 »
А в каком формате дата хранится у вас в базе, и что непосредственно в поле $rel_date? Сделайте var_dump($rel_date); и посмотрите, что там сейчас находится...
*

Helios

  • Захожу иногда
  • 416
  • 30 / 1
  • Аэтошозадеталь?
Re: mosFormatDate и смещение
« Ответ #2 : 08.10.2008, 03:02:17 »
формат даты в базе - 2008-10-10 00:00:00
результат var_dump($rel_date); - string(19) "2008-10-10 00:00:00"
результат echo mosFormatDate($rel_date); - 09.10.2008 г.

PS! То ли я тупой, то ли уже поздно...
/* Have a nice day! */
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: mosFormatDate и смещение
« Ответ #3 : 08.10.2008, 03:13:04 »
В функцию mosFormatDate нужно передавать дату, а не строку. Т.е. сначала, вам прийдется из указанной строки, сделать дату, с помощью strtotime, а уже потом, полученную дату вы сможете переформатировать.

Т.е. примерно вот так:

Код: php
if (is_string($rel_date)) {
$rel_date = strtotime($rel_date);
}
echo mosFormatDate($rel_date);
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #4 : 13.07.2009, 00:04:33 »
В функцию mosFormatDate нужно передавать дату, а не строку. Т.е. сначала, вам прийдется из указанной строки, сделать дату, с помощью strtotime, а уже потом, полученную дату вы сможете переформатировать.

Т.е. примерно вот так:

Код: php
if (is_string($rel_date)) {
$rel_date = strtotime($rel_date);
}
echo mosFormatDate($rel_date);


Где этот код можно прописать ? Все никак не могу найти, где можно время изменить в формате на главной: день.месяц.год + время публикации.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: mosFormatDate и смещение
« Ответ #5 : 13.07.2009, 00:15:15 »
Все никак не могу найти, где можно время изменить в формате на главной: день.месяц.год + время публикации.
что именно вам нужно изменить-то?
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #6 : 13.07.2009, 12:03:09 »
что именно вам нужно изменить-то?

Сайт один попросили доработать информационный, новости на главной выводятся таким образом:

Заголовок
Дата публикации
Первый абзац

а нужно сделать:

Заголовок
Дата публикации + ВРЕМЯ ПУБЛИКАЦИИ
Первый абзац

Сайт под управлением Joomla Lavra edition 12 вроде, не 15 точно.

*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: mosFormatDate и смещение
« Ответ #7 : 13.07.2009, 12:25:15 »
А что у Вас в $mosConfig_offset?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: mosFormatDate и смещение
« Ответ #8 : 13.07.2009, 14:04:25 »
Чтобы у вас отображалось время публикации, исправьте в языковом файле (/language/russian.php) строчку:

Код: php
DEFINE('_DATE_FORMAT_LC',"%A, %d %B %Y");
на
Код: php
DEFINE('_DATE_FORMAT_LC',"%d.%m.%Y %H:%M");
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #9 : 13.07.2009, 16:12:45 »
А что у Вас в $mosConfig_offset?

а где его найти ?
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #10 : 13.07.2009, 16:13:40 »
Чтобы у вас отображалось время публикации, исправьте в языковом файле (/language/russian.php) строчку:

Код: php
DEFINE('_DATE_FORMAT_LC',"%A, %d %B %Y");
на
Код: php
DEFINE('_DATE_FORMAT_LC',"%d.%m.%Y %H:%M");

оки, спасибо, вечером попробую
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: mosFormatDate и смещение
« Ответ #11 : 13.07.2009, 16:18:06 »
а где его найти ?

В configuration.php
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #12 : 13.07.2009, 20:34:07 »
А что у Вас в $mosConfig_offset?

$mosConfig_offset = '0';
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Re: mosFormatDate и смещение
« Ответ #13 : 13.07.2009, 20:47:45 »
Чтобы у вас отображалось время публикации, исправьте в языковом файле (/language/russian.php) строчку:

Код: php
DEFINE('_DATE_FORMAT_LC',"%A, %d %B %Y");
на
Код: php
DEFINE('_DATE_FORMAT_LC',"%d.%m.%Y %H:%M");

SMART!!! уже какой раз убеждаюсь, что ты не реально умный!!! СПАСИБО! мне очень помогло!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Смещение материала.

Автор alivsyk

Ответов: 1
Просмотров: 1563
Последний ответ 06.05.2009, 19:44:17
от alivsyk