Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразование даты
 
 автор: 27   (01.11.2009 в 12:24)   письмо автору
 
 

Приветствую, задача такова:
у меня в мускле дата афиши храниться в таком виде: 2009-11-01 10:00:00
Как мне реализовать так, что ниже приведенная функция преобразовывала мою дату, а не за сегодня...


<?php
     russian_date
("l, j F");

function 
russian_date() {
   
$translation = array(
      
"am" => "дп",
      
"pm" => "пп",
      
"AM" => "ДП",
      
"PM" => "ПП",
      
"Monday" => "Понедельник",
      
"Mon" => "Пн",
      
"Tuesday" => "Вторник",
      
"Tue" => "Вт",
      
"Wednesday" => "Среда",
      
"Wed" => "Ср",
      
"Thursday" => "Четверг",
      
"Thu" => "Чт",
      
"Friday" => "Пятница",
      
"Fri" => "Пт",
      
"Saturday" => "Суббота",
      
"Sat" => "Сб",
      
"Sunday" => "Воскресенье",
      
"Sun" => "Вс",
      
"January" => "Января",
      
"Jan" => "Янв",
      
"February" => "Февраля",
      
"Feb" => "Фев",
      
"March" => "Марта",
      
"Mar" => "Мар",
      
"April" => "Апреля",
      
"Apr" => "Апр",
      
"May" => "Мая",
      
"May" => "Мая",
      
"June" => "Июня",
      
"Jun" => "Июн",
      
"July" => "Июля",
      
"Jul" => "Июл",
      
"August" => "Августа",
      
"Aug" => "Авг",
      
"September" => "Сентября",
      
"Sep" => "Сен",
      
"October" => "Октября",
      
"Oct" => "Окт",
      
"November" => "Ноября",
      
"Nov" => "Ноя",
      
"December" => "Декабря",
      
"Dec" => "Дек",
      
"st" => "ое",
      
"nd" => "ое",
      
"rd" => "е",
      
"th" => "ое",
      );
   if (
func_num_args() > 1) {
      
$timestamp func_get_arg(1);
      return 
strtr(date(func_get_arg(0), $timestamp), $translation);
   } else {
      return 
strtr(date(func_get_arg(0)), $translation);
   };
}

?>

  Ответить  
 
 автор: Trianon   (01.11.2009 в 12:32)   письмо автору
 
   для: 27   (01.11.2009 в 12:24)
 

Вы бы выкинули эту самую вышеприведенную функцию.
Она явно писалась исключительно для автора.

  Ответить  
 
 автор: 27   (01.11.2009 в 13:08)   письмо автору
 
   для: Trianon   (01.11.2009 в 12:32)
 

но тогда я хз как такое сделать...

  Ответить  
 
 автор: Trianon   (01.11.2009 в 13:37)   письмо автору
 
   для: 27   (01.11.2009 в 13:08)
 

функцию strtr с этим здоровым массивом замены можно применить.
Равно как и функцию date - перед этим.

  Ответить  
 
 автор: 27   (01.11.2009 в 16:28)   письмо автору
 
   для: 27   (01.11.2009 в 12:24)
 

РЕШЕНИЕ:
конвертор ДАТЫ из такого формата: 2009-11-01 10:00:00 в такой Пятница, 23 Октября 12:34


<?php
function russian_date($data) {
   
$translation = array(
      
"am" => "дп",
      
"pm" => "пп",
      
"AM" => "ДП",
      
"PM" => "ПП",
      
"Monday" => "Понедельник",
      
"Mon" => "Пн",
      
"Tuesday" => "Вторник",
      
"Tue" => "Вт",
      
"Wednesday" => "Среда",
      
"Wed" => "Ср",
      
"Thursday" => "Четверг",
      
"Thu" => "Чт",
      
"Friday" => "Пятница",
      
"Fri" => "Пт",
      
"Saturday" => "Суббота",
      
"Sat" => "Сб",
      
"Sunday" => "Воскресенье",
      
"Sun" => "Вс",
      
"January" => "Января",
      
"Jan" => "Янв",
      
"February" => "Февраля",
      
"Feb" => "Фев",
      
"March" => "Марта",
      
"Mar" => "Мар",
      
"April" => "Апреля",
      
"Apr" => "Апр",
      
"May" => "Мая",
      
"May" => "Мая",
      
"June" => "Июня",
      
"Jun" => "Июн",
      
"July" => "Июля",
      
"Jul" => "Июл",
      
"August" => "Августа",
      
"Aug" => "Авг",
      
"September" => "Сентября",
      
"Sep" => "Сен",
      
"October" => "Октября",
      
"Oct" => "Окт",
      
"November" => "Ноября",
      
"Nov" => "Ноя",
      
"December" => "Декабря",
      
"Dec" => "Дек",
      
"st" => "ое",
      
"nd" => "ое",
      
"rd" => "е",
      
"th" => "ое",
      );
   
   
$dat=strtotime($data);
   
$last=date("l, j F H:i"$dat);


   if (
func_num_args() > 1) {
      
$timestamp func_get_arg(1);
      return 
strtr($last$translation);
   } else {
      return 
strtr($last$translation);
   };
}
?>

  Ответить  
 
 автор: cheops   (02.11.2009 в 12:08)   письмо автору
 
   для: 27   (01.11.2009 в 12:24)
 

В каком формате хотите получить дату?

  Ответить  
 
 автор: 27   (04.11.2009 в 10:48)   письмо автору
 
   для: cheops   (02.11.2009 в 12:08)
 

В этом: l, j F H:i
Выше в скрипте уже получено. Искал, не нашел готового решения. Теперь есть =)
Если есть вариант проще, то пожалуйста приведите его сюда...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования