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

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Было:
Код
<p class="ja-day">
 <?php
echo "<span class=\"day\">".date ('D').",</span>";
echo "<span class=\"date\">".date ('d')."</span>";
echo "<span class=\"month\">".date ('M')."</span>";
echo "<span class=\"year\">".date ('Y')."</span>";
 ?>
</p>

Сам написал, хоть и полный 0 в PHP  ::)
Код
<p class="ja-day">
<?php
setlocale(LC_TIME, "uk_UA.UTF8");
echo strftime(" %a ");
echo strftime("%d ");
echo strftime("%b ");
echo strftime("%Y");
?>
</p>

Неполучается придать стиль (Например "<span class=\"day\">"). незнаю как правильно написать...  Пробовал методом научного тыка - лезет ошибка в той строке...
PHP 5.3.6

Да, видел пару тем с возможным решением И снова вывод даты
Код
echo JHTML::_('date', date('Y-m-d'), JText::_('DATE_FORMAT_LC3'));

Вот а как сюда прикрутить вывод дня недели (Например: Суб) и еще + это все на украинском (ну если это есть в переводе то должно быть просто)
Спойлер
[свернуть]
Но как стили прикрутить отдельно к дню недели, отдельно к месяцу... ?
« Последнее редактирование: 12.06.2011, 15:29:53 от Mihanja80 »
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Re: Стиль вывода даты на родном языке
« Ответ #1 : 05.06.2011, 00:46:32 »
РЕШЕНО Украинский:
Код
<p class="ja-day">
<?php
setlocale(LC_TIME, "uk_UA.UTF8");
echo "<span class=\"day\">".strftime("%a").",</span>";
echo "<span class=\"date\">".strftime("%d")."</span>";
echo "<span class=\"month\">".strftime("%b")."</span>";
echo "<span class=\"year\">".strftime("%Y")."</span>";
?>
</p>
Получим: Сбт,04Чер2011

РЕШЕНО Русский:
Код
<p class="ja-day">
<?php
setlocale(LC_TIME, "ru_RU.UTF8");
echo "<span class=\"day\">".strftime("%a").",</span>";
echo "<span class=\"date\">".strftime("%d")."</span>";
echo "<span class=\"month\">".strftime("%b")."</span>";
echo "<span class=\"year\">".strftime("%Y")."</span>";
?>
</p>
Получим: Сбт,04Июн2011
 *DRINK* Метод научного тыка победил  *DRINK*
(а не хватало-то всего две точки)

Источник: http://ua2.php.net/manual/ru/function.strftime.php

Если в чем ошибся - поправьте. Код работает 100% ;) и не нужно писать кучу кода :)
« Последнее редактирование: 05.06.2011, 00:54:14 от Mihanja80 »
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Продолжу...
 
Код
echo "<span class=\"day\">".date ('H').",</span>";
setlocale(LC_TIME, "uk_UA.UTF8");
echo "<span class=\"day\">".strftime("%H %a").",</span>";
И обе функции выводят время на три часа меньше (VPS в германии, я в Украине)



Куда еще копать? Что покрутить чтобы выровнять время?
Я с мобильного, в основном...
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Код: php
echo '<span style="color:red;">'.JHTML::_('date', 'now', JText::_('l, ')).'</span>'.
'<span style="color:blue;">'.JHTML::_('date', 'now', JText::_('d ')).'</span>'.
'<span style="color:green;">'.JHTML::_('date', 'now', JText::_('F ')).'</span>'.
'<span style="color:crimson;">'.JHTML::_('date', 'now', JText::_('Y')).'</span>'.
'<span style="color:silver;">'.JHTML::_('date', 'now', JText::_(' H:i')).'</span>';
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Код
echo '<span class=\"day\">'.JHTML::_('date', 'now', JText::_('l, ')).'</span>'.
'<span class=\"date\">'.JHTML::_('date', 'now', JText::_('d ')).'</span>'.
'<span class=\"month\"">'.JHTML::_('date', 'now', JText::_('F ')).'</span>'.
'<span class=\"year\">'.JHTML::_('date', 'now', JText::_('Y')).'</span>';


=  Понеділок, 06 червня 2011


Lex, Огромное спасибо за корректное решение вопроса.   *DRINK*
Данный вариант будет работать и на многоязычных сайтах ;) + реагирует на настройку часового пояса в админке Joomla

Но вопрос, почему же с сервера не корректно тянулся часовой пояс не дает покоя...
Я с мобильного, в основном...
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
зачем через JText формат то пропускать? :)
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Так скопипастил строку 4 раза. Вот JText на цифирках и остался.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Так, а как правильно?  :o


Так?
Код
<?php
echo '<span class=\"day\">'.JHTML::_('date', 'now', ('l, ')).'</span>'.
'<span class=\"date\">'.JHTML::_('date', 'now', ('d ')).'</span>'.
'<span class=\"month\"">'.JHTML::_('date', 'now', ('F ')).'</span>'.
'<span class=\"year\">'.JHTML::_('date', 'now', ('Y')).'</span>';
?>

Или так?
Код
<?php
echo '<span class=\"day\">'.JHTML::_('date', 'now', JText::_('l, ')).'</span>'.
'<span class=\"date\">'.JHTML::_('date', 'now', ('d ')).'</span>'.
'<span class=\"month\"">'.JHTML::_('date', 'now', ('F ')).'</span>'.
'<span class=\"year\">'.JHTML::_('date', 'now', ('Y')).'</span>';
?>

Работают оба варианта...
« Последнее редактирование: 06.06.2011, 22:32:55 от Mihanja80 »
Я с мобильного, в основном...
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Да хюз. J1.6 никто и не проверял очень то. Я бы все же на словах перевод оставил. А цифры они и в Африке цифры.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Значит остановимся на таком варианте:
Код: php
<p class="ja-day">
<?php
echo date ('H:m:s',time ());
echo '<span class=\"day\">'.JHTML::_('date', 'now', JText::_('l, ')).'</span>'.
'<span class=\"date\">'.JHTML::_('date', 'now', ('d ')).'</span>'.
'<span class=\"month\"">'.JHTML::_('date', 'now', JText::_('F ')).'</span>'.
'<span class=\"year\">'.JHTML::_('date', 'now', ('Y')).'</span>';
?>
</p>
yes!
Я с мобильного, в основном...
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
JHTML::_('date', 'now', 'Y');
кавычки там не нужны и Jtext тоже.
там задается формат даты. Форматы описаны здесь - http://php.net/manual/en/function.date.php
а так по идее оно и так должно переводиться на нужный язык.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
JHTML::_('date', 'now', 'Y');
кавычки там не нужны и Jtext тоже.
там задается формат даты. Форматы описаны здесь - http://php.net/manual/en/function.date.php
а так по идее оно и так должно переводиться на нужный язык.

 :o

Код: php
echo '<span class=\"day\">'.JHTML::_(date, now,('l, ')).'</span>'.

?  :'(

(Экранирование двойных кавычек пусть так и будет?)
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Ребята, можно получить заключение по теме?
Код
echo '<span class=\"day\">'.JHTML::_(date, now,('l, ')).'</span>'.
Так правильно? ::)
Я с мобильного, в основном...
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
echo '<span class=\"day\">'.JHTML::_(date, now, 'l, ').'</span>'.
Скобки не нужны они от JText остались.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Включил отображение ошибок на максимум (PHP5.3.6):




 :dry:

« Последнее редактирование: 12.06.2011, 15:34:18 от Mihanja80 »
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
JHTML::_('date', 'now', 'Y');
кавычки там не нужны и Jtext тоже.
там задается формат даты. Форматы описаны здесь - http://php.net/manual/en/function.date.php
а так по идее оно и так должно переводиться на нужный язык.
Вернул кавычки и ошибка пропала :)

Окончательний вариант:
Код: php
<p class="ja-day">
      <?php
echo '<span class=\"day\">'.JHTML::_('date', 'now', 'l, ').'</span>'.
'<span class=\"date\">'.JHTML::_('date', 'now', 'd ').'</span>'.
'<span class=\"month\"">'.JHTML::_('date', 'now', 'F ').'</span>'.
'<span class=\"year\">'.JHTML::_('date', 'now', 'Y').'</span>';
      ?>
    </p>
Я с мобильного, в основном...
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Обновление!   ::)
Валидатор ругался...

Код: php
<p class="ja-day">
<span class="day"> <?php echo JHTML::_('date', 'now', 'l,'); ?></span>
<span class="date"> <?php echo JHTML::_('date', 'now', 'd'); ?></span>
<span class="month"> <?php echo JHTML::_('date', 'now', 'F'); ?></span>
<span class="year"> <?php echo JHTML::_('date', 'now', 'Y'); ?></span>
</p>

Спасибо Lex за помощь  :D
Я с мобильного, в основном...
*

alsak

  • Захожу иногда
  • 100
  • 2 / 0
В способе предложенном Mihanja80 названия месяца, если оно состоит из 6 и более букв налазит на год. Как можно увеличить размер ячейки для месяца?
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Прописать стили (отступ слева/справа) для классов, делов-то на пару минут...
Я с мобильного, в основном...
*

jullia.shipitcina

  • Новичок
  • 1
  • 0 / 0
setlocale(LC_ALL, "ru_RU.UTF8");
$dateView = strftime("%d %B %Y", $timestamp);

Поставила в setlocale "ru_RU.UTF8". Дата стала выводиться на русском. А как теперь сделать, чтобы месяца выводились в падеже? Июня, Июля и т.д.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться