Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как это сделать?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 05 Августа, 2011 - 18:35:00
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Добрый день !
У меня есть например такая переменная: $date = "2011-08-05 16:09:23";, как мне ее превратить в 8 августа 2011 года в 16:09:23, я думал можно это все сделать через фукции explode и str_place, но это как-то на мой взгляд не примитивно, может у кого нибудь есть готовые решения?, но на крайняк пошла бы и версия explode с str_replace, но писать его очень лень, буду благодарен за ответы.

(Отредактировано автором: 05 Августа, 2011 - 18:44:18)

 
 Top
illy
Отправлено: 05 Августа, 2011 - 19:34:58
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Лови скрипт Ха-ха

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $date="2011-08-05 16:09:23";
  4. $d=preg_replace('/(.*)-(.*)-(.*) (.*)/','\3',$date);
  5. $d=preg_replace('/0(.*)/','\1',$d);
  6. $mm=preg_replace('/(.*)-(.*)-(.*)/','\2',$date);
  7. $mm=preg_replace('/0(.*)/','\1',$mm);
  8. $z=array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
  9. $m=$z[$mm-1];
  10. $y=preg_replace('/(.*)-(.*)-(.*)/','\1',$date);
  11. $t=preg_replace('/(.*) (.*)/','\2',$date);
  12. echo $d.' '.$m.' '.$y.' года в '.$t;
  13. ?>
  14.  


Цитата:
$z=array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$m=$z[$mm-1];

Вот это я умно придумал. А хотел сначала всё в цикле сделать. Ха-ха

(Отредактировано автором: 05 Августа, 2011 - 19:57:13)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Arni
Отправлено: 05 Августа, 2011 - 19:45:50
Post Id



Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Июль 2011  


Помог: 2 раз(а)




Если может в друг еще и это пригодится.

PHP:
скопировать код в буфер обмена
  1.  
  2. function date_ru($value = NULL) {
  3. $translation = array(
  4. "am" => "дп","pm" => "пп","AM" => "ДП","PM" => "ПП","Monday" => "Понедельник","Mon" => "Пн",
  5. "Tuesday" => "Вторник","Tue" => "Вт","Wednesday" => "Среда","Wed" => "Ср","Thursday" => "Четверг",
  6. "Thu" => "Чт","Friday" => "Пятница","Fri" => "Пт","Saturday" => "Суббота","Sat" => "Сб",
  7. "Sunday" => "Воскресенье","Sun" => "Вс","January" => "Января","Jan" => "Янв","February" => "Февраля",
  8. "Feb" => "Фев","March" => "Марта","Mar" => "Мар","April" => "Апреля", "Apr" => "Апр","May" => "Мая",
  9. "May" => "Мая","June" => "Июня","Jun" => "Июн","July" => "Июля","Jul" => "Июл","August" => "Августа",
  10. "Aug" => "Авг", "September" => "Сентября","Sep" => "Сен","October" => "Октября","Oct" => "Окт",
  11. "November" => "Ноября","Nov" => "Ноя","December" => "Декабря","Dec" => "Дек","st" => "ое","nd" => "ое",
  12. "rd" => "е","th" => "ое");
  13.    if(func_num_args() == 0){
  14.       return strtr(date($this->date_format), $translation);
  15.    }
  16.    elseif (func_num_args() > 1) {
  17.       return strtr(date(func_get_arg(0), func_get_arg(1)), $translation);
  18.    }else {
  19.       return strtr(date(func_get_arg(0)), $translation);
  20.    };
  21. }
  22.  
 
 Top
event
Отправлено: 06 Августа, 2011 - 20:12:09
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Спасибо ребята, взял код от: illy - он мне большее понравился.
 
 Top
illy
Отправлено: 06 Августа, 2011 - 21:21:26
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Рад стараться Пивко
А можно было и ещё чуть код сократить Хорошо


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
LIME
Отправлено: 06 Августа, 2011 - 21:24:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




event скрипт Arni быстрее
если будет код в цикле то передумайте
 
 Top
White
Отправлено: 06 Августа, 2011 - 21:36:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




точно, строковые функции значительно быстрее регулярки


-----
if(time()>1356048000) die();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB