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

Форум PHP

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

 

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

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

тема: Дата
 
 автор: Сквиртел13   (27.07.2006 в 11:51)   письмо автору
 
 

Для написание даты в php существует функция echo date('jS F Y'); но дата будет писаться на английском. Как сделать чтобы дата писалась на руском?

   
 
 автор: P@Sol   (27.07.2006 в 12:04)   письмо автору
 
   для: Сквиртел13   (27.07.2006 в 11:51)
 

использовать функцию, я у себя использую

<?php

function print_date($exp) {

        
$r_w = array(
                
'0'=>"воскресенье",
                
'1'=>"понедельник",
                
'2'=>"вторник",
                
'3'=>"среда",
                
'4'=>"четверг",
                
'5'=>"пятница",
                
'6'=>"суббота"
        
);

        
$r_w_s = array(
                
'0'=>"вс",
                
'1'=>"пн",
                
'2'=>"вт",
                
'3'=>"ср",
                
'4'=>"чт",
                
'5'=>"пт",
                
'6'=>"сб"
        
);

        
$r_m = array(
                
'01'=>"января",
                
'02'=>"февраля",
                
'03'=>"марта",
                
'04'=>"апреля",
                
'05'=>"мая",
                
'06'=>"июня",
                
'07'=>"июля",
                
'08'=>"августа",
                
'09'=>"сентября",
                
'10'=>"октября",
                
'11'=>"ноября",
                
'12'=>"декабря"
        
);

        
$r_m_s = array(
                
'01'=>"янв",
                
'02'=>"фев",
                
'03'=>"марта",
                
'04'=>"апр",
                
'05'=>"мая",
                
'06'=>"июня",
                
'07'=>"июля",
                
'08'=>"авг",
                
'09'=>"сент",
                
'10'=>"окт",
                
'11'=>"нояб",
                
'12'=>"дек"
        
);

        
define('N_MONTH'date("m"));               // Номер месяца
        
define('N_WEEK'date("w"));                // Номер недели

        
$out_dates = array(
                
$r_w[N_WEEK],                       // Назване недели на русском языке
                
$r_m[N_MONTH],                      // Название месяца на русском языке
                
date("H"),                          // Час (формат 1 - H)
                
date("i"),                          // Минуты (формат 1 - i)
                
date("Y"),                          // Год - полный формат
                
date("y"),                          // Год - короткий формат
                
date("d"),                          // Число
                
$r_w_s[N_WEEK],                     // Сокращенное обозначение дня недели
                
$r_m_s[N_MONTH],                    // Сокращенное обозначение месяцаб
                
date("s")                           // секунды
        
);
        
$in_dates = array(
                
"[w]",
                
"[m]",
                
"[H]",
                
"[i]",
                
"[Y]",
                
"[y]",
                
"[d]",
                
"[D]",
                
"[M]",
                
"[s]"
        
);

        
$exp_assembly preg_replace("%(\W)([a-zA-Z])(?=[\W])%is","\\1[\\2]\\3",$exp); // Сборка входных аргументов даты в коды для перезаписи их в шаблоне.
        
$result str_replace($in_dates$out_dates$exp_assembly);
        return 
$result;
}

?>

а вызываю

<?

include('print_date.php');

echo 
print_date("Сегодня w ")."<br>";
echo 
print_date(" d m Y года.");

?>

   
 
 автор: Сквиртел13   (27.07.2006 в 12:13)   письмо автору
 
   для: P@Sol   (27.07.2006 в 12:04)
 

Спасибо я попробую

   
 
 автор: Сквиртел13   (27.07.2006 в 12:27)   письмо автору
 
   для: P@Sol   (27.07.2006 в 12:04)
 

Знаешь а выдает ошибку, но дату пишет

Сегодня четверг

Notice: Constant N_MONTH already defined in z:\home\localhost\www\data\print_date.php on line 55

Notice: Constant N_WEEK already defined in z:\home\localhost\www\data\print_date.php on line 56
27 июля 2006 года.

define('N_MONTH', date("m")); // Номер месяца 55 строка
define('N_WEEK', date("w")); // Номер недели 56 строка

   
 
 автор: P@Sol   (27.07.2006 в 12:32)   письмо автору
 
   для: Сквиртел13   (27.07.2006 в 12:27)
 

это не ошибка, это предупреждение

Это предупреждение, вероятнее всего, возникает вследствие высокого уровня контроля
 ошибок в PHP, по умолчанию установленного в Денвере (E_ALL). Такой режим вывода
 ошибок является рекомендуемым и сильно помогает при отладке скриптов. Однако 
множество готовых скриптов требуют более низкого уровня ошибок.

Вы можете установить более слабый контроль ошибок одним из следующих способов:

Впишите в скрипты строчку: 
Error_Reporting(E_ALL & ~E_NOTICE);
Этот способ особенно удобен, если в скрипте есть один файл (конфигурационный), который подключается всеми остальными.
Рекомендуемый способ. Создайте в директории со скриптом файл .htaccess следующего содержания: 
php_value error_reporting 7
Исправьте в /usr/local/php/php.ini значение error_reporting на E_ALL & ~E_NOTICE. Этот 
способ не является рекомендуемым и может привести к серьезным неудобствам при отладке!

   
 
 автор: Сквиртел13   (27.07.2006 в 12:40)   письмо автору
 
   для: P@Sol   (27.07.2006 в 12:32)
 

Спасибо первый вариант помог.

   
Rambler's Top100
вверх

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