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

Форум PHP

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

 

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

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

тема: Календарь по русски
 
 автор: oppo   (16.03.2006 в 16:17)   письмо автору
 
 

Выводит неделю мес. число , год.
Как перевести этот календарь на русский стандарт в зависимости от выбора языка.

function DateDropDown($size=60,$default="DropDate") {


   $skip=1;
   echo "<select name=dropdate STYLE=\"font-family: monospace; width:160; \" class=\"inputbox\">\n";
   for ($i = 0; $i <= $size; $i++) {
      $theday = mktime (0,0,0,date("m") ,date("d")+$i ,date("Y"));
      $option=date("D M j, Y",$theday);

      $value=date("d:m:Y",$theday);
      $dow=date("D",$theday);
      if ($dow=="Sun") {
         echo "<option disabled>&nbsp;</option>\n";
      }
      if ($value == $default) {
         $selected="SELECTED";
      } else {
         $selected="";
      }
      if (($dow!="Sun" and $dow!="Sat") or !$skip) {
         echo "<option value=\"$value\" $selected>$option</option>\n";
      }
   }
   echo "</select>\n";
}

   
 
 автор: cheops   (16.03.2006 в 22:11)   письмо автору
 
   для: oppo   (16.03.2006 в 16:17)
 

Для этого следует исправить формат в строке
<?php
  $option
=date("D M j, Y",$theday);
?>

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

   
 
 автор: oppo   (17.03.2006 в 01:11)   письмо автору
 
   для: cheops   (16.03.2006 в 22:11)
 

Ну понятно что там ... Сейчас имею FRI MAR 17 , 2006 ну а нужно 17 мар. пят. , 2006
или пятн. 17.03.2006 желательно оставить и английский вариант примерно так

switch (_LANG) {
    case RUS: //руский вариант
и т.д. на всякий случай.Вообще все равно какой календарь - можно и на js чтоб можно передать выбранную дату через post . Только не очень тяжелое по весу и мультиязычное

   
 
 автор: cheops   (17.03.2006 в 13:12)   письмо автору
 
   для: oppo   (17.03.2006 в 01:11)
 

Нужно произвести замену, как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=289

   
 
 автор: Trianon   (17.03.2006 в 13:24)   письмо автору
 
   для: cheops   (17.03.2006 в 13:12)
 

Какой ужасный подход.
Значит сперва формируем текстовое предствавление даты, полагая, что оно будет выполнено в локали с английским языком. А потом от английского пререходим к русскому. Не лучше ли тогда в числовом виде получить дату, а потом проиндексировать результатами два собственных массива с именами месяцев и дней недели?

   
 
 автор: oppo   (17.03.2006 в 13:40)   письмо автору
 
   для: Trianon   (17.03.2006 в 13:24)
 

некрасиво но я сделал через explode и str_ireplace ..... :(
но учитывая замечание Trianon наверное сначала лучше заменить $option=date("D M j, Y",$theday); на $option=date("d m j, Y",$theday);
а потом сопоставить массиву..

 $day=array("Пн","Вт","Ср","Чт","Пт","Сб","Вс");
$months = Array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь');
как правильнее сделать ?

   
 
 автор: Trianon   (17.03.2006 в 14:22)   письмо автору
 
   для: oppo   (17.03.2006 в 13:40)
 

<?
$days
=array('E' => array("Sun""Mon""Tue""Wed""Thu""Fri""Sat" ),
            
'R' => array("вск""пнд""втр""срд""чтв""птн""сбт"));
$months = array(
'E' => array("","January""February""March""April""May""June""July""August""September""October""November""December"),
'R' => array('','января''февраля''марта''апреля''мая''июня''июля''августа''сентября''октября''ноября''декабря'));

for(
$i  0$i 7$i++) 

   
$x explode(',',date('Y,n,j,w'time()+$i*10000000));
   echo 
"$x[2] {$months['R'][$x[1]]} $x[0]{$days['E'][$x[3]]}<br>";
}
?>

   
 
 автор: oppo   (17.03.2006 в 15:25)   письмо автору
 
   для: Trianon   (17.03.2006 в 14:22)
 

Спсибо , ну и тут http://www.weberdev.com/get_example-4214.html нашел интересный снипет..

   
Rambler's Top100
вверх

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