функция

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

функция

Сообщение Ekstazi »

Ребята, может у кого-то есть функция, которая бы выдала время типо:
28 минут назад
12 часов назад
вчера в 9:00
1999-09-09 в 15:00
и в таком роде.
Видел такое на форумах и сайтах многих, может кто поделиться или скажет откуда выдирать ?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: функция

Сообщение samdark »

28 минут назад = вычесть из текущего времени точку отсчёта, поделить на 60. Слово «минут» можно при помощи этого.
12 часов назад = то же, но делим на 60 ещё раз.
Вчера в 9:00, 1999-09-09 в 15:00 = делается date().
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: функция

Сообщение Ekstazi »

Спасибо.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: функция

Сообщение slavcodev »

мне кажется в Yii я где-то встречал как с сообщениями единственное/множественным числом.
домой вернусь пороюсь.
Жду Yii 3!
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: функция

Сообщение slavcodev »

Жду Yii 3!
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: функция

Сообщение Ekstazi »

А пример использования можно ? А то мало понял.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: функция

Сообщение samdark »

Эта штука, кстати, всегда применяется к строкам Yii::t().

Код: Выделить всё

// Может объект есть в Yii::app(), я не в курсе…
$cf = new CChoiceFormat();
echo $cf->format('n%10==1 && n%100!=11#день|n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)#дня|#дней', 123);
 
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: функция

Сообщение slavcodev »

Sam Dark писал(а):Эта штука, кстати, всегда применяется к строкам Yii::t().
ну да, она этим и удобна
Жду Yii 3!
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: функция

Сообщение Ekstazi »

Подробней про применение ? То есть если я сделаю yii::t('main','23 день'); то он все переведет и посклоняет ?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: функция

Сообщение samdark »

Если написать страшную и ужасную строку в файлике с переводом — вполне возможно. Но мне лично такой вариант не нравится.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: функция

Сообщение slavcodev »

Sam Dark писал(а):Если написать страшную и ужасную строку в файлике с переводом — вполне возможно. Но мне лично такой вариант не нравится.
Ну эту строку пишешь один раз.
Жду Yii 3!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: функция

Сообщение samdark »

Для каждой строки с переводом.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: функция

Сообщение slavcodev »

Ну строк которые должны меняться при изменении числа не так много.
Причем, обычно если правильно делать (ИМХО), то каждый класс, будет иметь свой файл перевода (календарь, корзина и так далее).
Создав один раз класс и файл перевода для него, его можно будет использовать в разных проектах.
И что самое интересное с разными языками.

Если использовать функции, которые склоняют существительное, как быть если нужно будет добавить новый язык?
Жду Yii 3!
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: функция

Сообщение Ozzy »

Ekstazi писал(а):Ребята, может у кого-то есть функция, которая бы выдала время типо:
28 минут назад
12 часов назад
вчера в 9:00
1999-09-09 в 15:00
и в таком роде.
Видел такое на форумах и сайтах многих, может кто поделиться или скажет откуда выдирать ?
http://dbhelp.ru/people-date-widget/page/

можешь выдрать просто функции с компонента и будет не тока под yii.
Мой маленький блог - http://dbhelp.ru
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: функция

Сообщение Ekstazi »

Да, виджет хорош, но думаю я его доработаю, так как надпись типо 400 дней назад не супер )
Аватара пользователя
Ozzy
Сообщения: 269
Зарегистрирован: 2009.04.02, 15:09
Откуда: Украина, Одесса

Re: функция

Сообщение Ozzy »

Ekstazi писал(а):Да, виджет хорош, но думаю я его доработаю, так как надпись типо 400 дней назад не супер )
Согласен. Потом можете отпостить код что б порадовать остальных :)
Мой маленький блог - http://dbhelp.ru
Ответить