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

Форум PHP

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

 

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

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

тема: формат даты
 
 автор: antosha2023   (05.11.2009 в 12:09)   письмо автору
 
 

как сделать дату 3 ноябрь 2009

  Ответить  
 
 автор: Slo_Nik   (05.11.2009 в 12:17)   письмо автору
 
   для: antosha2023   (05.11.2009 в 12:09)
 

setlocale(LC_TIME, 'Russian_Russia.1251');
echo "Сегодня - ".strftime('%d %B(я), %A, %Y')." г.<br>";

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 12:48)   письмо автору
 
   для: Slo_Nik   (05.11.2009 в 12:17)
 

а мне надо сделать дату добавления

  Ответить  
 
 автор: Slo_Nik   (05.11.2009 в 12:51)   письмо автору
 
   для: antosha2023   (05.11.2009 в 12:48)
 

ну так надо сразу писать что именно тебе надо.
я тебе ответил так, как понял твой вопрос.
куда дату добавлять собираешься?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 12:57)   письмо автору
30.4 Кб
 
   для: Slo_Nik   (05.11.2009 в 12:51)
 

вот пример как сделать надо

  Ответить  
 
 автор: Slo_Nik   (05.11.2009 в 13:06)   письмо автору
 
   для: antosha2023   (05.11.2009 в 12:57)
 

ну а теперь по русски расскажи, что ты всё таки хочешь сделать?
если тебе надо вывести дату :число, месяц(на русском) и год, как показано на рисунке, то я тебе написал как сделать.
дата создания где у тебя хранится?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 13:08)   письмо автору
 
   для: Slo_Nik   (05.11.2009 в 13:06)
 

$date = $myrow["date"];
list($year, $month, $day) = explode("-", $date); // Или сразу, за место $date, поставить $myrow["date"]
$date = date("d.m.Y"); // Дата в новом формате
что можно тут изменить чтобы получить вот такой результат допустим 5 ноября 2009

  Ответить  
 
 автор: Slo_Nik   (05.11.2009 в 13:45)   письмо автору
 
   для: antosha2023   (05.11.2009 в 13:08)
 

>$date = date("d.m.Y"); // Дата в новом формате
это тебе сформирует текущую дату, а не дату добавления материала на сайт.
берёшь $myrow["date"]; она будет у тебя в формате
0000-00-00
, через регулярное выражение приводишь её к виду 00(день)-00(месяц)-0000(год)

<?php
preg_match
("|([0-9]{4})-([0-9]{2})-([0-9{2}])|", $$myrow["date"],$out);

// и потом формируешь в том виде, какой тебе нужен
echo "сегодня - ".$out[3].$out[2].$out[1]";
?>

что бы поменять цифру месяца на название, можно создано массив, где будут названия месяцев и потом заменять цифру на название месяца из массива

  Ответить  
 
 автор: 27   (05.11.2009 в 13:59)   письмо автору
 
   для: antosha2023   (05.11.2009 в 12:09)
 

Вот в этой теме есть решение:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=69248&page=1

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 14:16)   письмо автору
 
   для: 27   (05.11.2009 в 13:59)
 

не получается

  Ответить  
 
 автор: Trianon   (05.11.2009 в 16:12)   письмо автору
 
   для: antosha2023   (05.11.2009 в 14:16)
 

разделите проблему на три шага:
1. Вытащить дату записи из таблицы БД в пригодном для работы виде
2. Преобразовать в нужный формат
3. Вывести в поток HTML-кода в нужном месте.

  Ответить  
 
 автор: ols   (05.11.2009 в 19:32)   письмо автору
 
   для: antosha2023   (05.11.2009 в 12:09)
 


<?

 
function russianData($data)
    {

        
$data explode("-",$data);
        
$day $data[2];
        
$montch $data[1];
        
$year $data[0];

        switch(
$montch)
        {
            case 
"01":
                
$montch "января";
                break;
            case 
"02":
                
$montch "Февраля";
                break;
            case 
"03":
                
$montch "марта";
                break;
            case 
"04":
                
$montch "апреля";
                break;
            case 
"05":
                
$montch "мая";
                break;
            case 
"06":
                
$montch "июня";
                break;
            case 
"07":
                
$montch "июля";
                break;
            case 
"08":
                
$montch "августа";
                break;
            case 
"09":
                
$montch "сентября";
                break;
            case 
"10":
                
$montch "октября";
                break;
            case 
"11":
                
$montch "ноября";
                break;
            case 
"12":
                
$montch "декабря";
                break;

        }
          return 
$data $day."&nbsp;".$montch."&nbsp;".$year;
    }
        echo 
russianData("2009-11-03");
?>

  Ответить  
 
 автор: Trianon   (05.11.2009 в 19:36)   письмо автору
 
   для: ols   (05.11.2009 в 19:32)
 

божежмой...
Ну зачем совать свитч туда, где можно обойтись простым массивом?!

  Ответить  
 
 автор: ols   (05.11.2009 в 19:47)   письмо автору
 
   для: Trianon   (05.11.2009 в 19:36)
 

Чем свитч хуже массива? :)

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 19:57)   письмо автору
 
   для: ols   (05.11.2009 в 19:47)
 


<?php
$month 
= (int) $data[1];

$monthes = array ('' 'январь' 'февраль' 'март' 'апрель' ,
'май' 'июнь' 'июль' 'август' 'сентярь' ,
'октябрь' 'ноябрь' 'декабрь');

$month $monthes[$month];


Массив лучше хотя бы тем, что намного сокращает код

  Ответить  
 
 автор: Trianon   (05.11.2009 в 20:03)   письмо автору
 
   для: ols   (05.11.2009 в 19:47)
 

neadekvat (05.11.2009 в 19:57) показал, чем.

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 19:56)   письмо автору
 
   для: ols   (05.11.2009 в 19:32)
 

мне надо когда щелкаешь по категории , выводилось дата добавления а не сегодннящная дата

  Ответить  
 
 автор: ols   (05.11.2009 в 20:05)   письмо автору
 
   для: antosha2023   (05.11.2009 в 19:56)
 

Я лишь показал как один из возможных методов реализации пункта 2, который написал Trianon.
У Вас проблема вывести дату добавления из базы?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:09)   письмо автору
 
   для: ols   (05.11.2009 в 20:05)
 

у меня проблема вывести из базы дату в новом формате которую я хотел бы ее видеть

  Ответить  
 
 автор: ols   (05.11.2009 в 20:17)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:09)
 

>у меня проблема вывести из базы дату в новом формате которую я хотел бы ее видеть
Тип поля в базе DATE?
Если да, в чем проблема?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:21)   письмо автору
 
   для: ols   (05.11.2009 в 20:17)
 

да date,проблема в том что он показывает севодняшнею дату все время , мне надо чтобы показывала дату добавления.
у меня проблема вывести из базы дату в новом формате которую я хотел бы ее видеть

вот смотрите вот функция даты вот такая у меня
$date = $myrow["date"];
list($year, $month, $day) = explode("-", $date); // Или сразу, за место $date, поставить $myrow["date"]
$date = "$day.$month.".substr($year, 2, 2); // Дата в новом формат , но мне она не нравится я хочу дату сделать вот так 05.ноябрь 2009, куда мне надо вставить букву F( месяц, полное название тестом "January") что выводил месяц на русском
. вы конечно меня извините , я только учусь , и тоже хотел бы научится,

еще раз прошу прощения , скажите где я могу это дело все посмотреть, я на googl.ru но там все не то

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 20:31)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:21)
 

<?php 
   
function month_rus($month) {

      
$month = (int) $month;

      
$monthes = array ('' 'январь' 'февраль' 'март' 'апрель' 
      
'май' 'июнь' 'июль' 'август' 'сентярь' 
      
'октябрь' 'ноябрь' 'декабрь'); 
      
      return 
$monthes[$month];
    }
    
    
$date '2009-12-31';
    
    list(
$year$month$day) = explode("-"$date);
    
    echo 
$day month_rus($month) . $year;

  Ответить  
 
 автор: Trianon   (05.11.2009 в 20:35)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:21)
 

И где здесь у Вас функция date() ?
Где оно тут показывает сегодняшнюю дату?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:40)   письмо автору
 
   для: Trianon   (05.11.2009 в 20:35)
 

я такую хочу получить

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 20:41)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:40)
 

Я вам функцию сделал и показал, как её применять
Что еще вы хотите?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:49)   письмо автору
 
   для: neadekvat   (05.11.2009 в 20:41)
 

ничего не по получается

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 20:51)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:49)
 

Очень интересно
А у меня получается, как же так

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:52)   письмо автору
 
   для: neadekvat   (05.11.2009 в 20:51)
 

ты что прописываешь в дате добавления что у тебя получается

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 20:55)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:52)
 

Во-первых, я к вам на "вы", будьте добры делать так же. Мы с вами пиво не пили и надеюсь не придется
Во-вторых, в том коде, что я дал, все есть. Но уж если не видно (смотрите комментарий):

<?php  
   
function month_rus($month) { 

      
$month = (int) $month

      
$monthes = array ('' 'январь' 'февраль' 'март' 'апрель' ,  
      
'май' 'июнь' 'июль' 'август' 'сентярь' ,  
      
'октябрь' 'ноябрь' 'декабрь');  
       
      return 
$monthes[$month]; 
    } 
     
    
$date '2009-12-31'// ВХОДНАЯ ДАТА. ИЗНАЧАЛЬНАЯ, ИСХОДНАЯ ДАТА.
     
    
list($year$month$day) = explode("-"$date); 
     
    echo 
$day month_rus($month) . $year;

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 21:05)   письмо автору
 
   для: neadekvat   (05.11.2009 в 20:55)
 

выводит дату в каком формате но указывает на строку у function month_rus($month) {

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 21:07)   письмо автору
 
   для: antosha2023   (05.11.2009 в 21:05)
 

А теперь мы вместе соберемся с мыслями и скажем все это по-русски.
Кто указывает, что указывает, почему указывает.

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 21:08)   письмо автору
 
   для: neadekvat   (05.11.2009 в 21:07)
 

вот выводит ошибку когда ходишь по категория
Fatal error: Cannot redeclare month_rus() (previously declared in Z:\home\localhost\www\phpsite\view_cat.php:110) in Z:\home\localhost\www\phpsite\view_cat.php on line 110

а вот сам код
function month_rus($month) {

$month = (int) $month;

$monthes = array ('' , 'январь' , 'февраль' , 'март' , 'апрель' ,
'май' , 'июнь' , 'июль' , 'август' , 'сентярь' ,
'октябрь' , 'ноябрь' , 'декабрь');

return $monthes[$month];
}

$date = $myrow["date"];
// ВХОДНАЯ ДАТА. ИЗНАЧАЛЬНАЯ, ИСХОДНАЯ ДАТА.

list($year, $month, $day) = explode("-", $date);

$date= ($day . month_rus($month) . $year);

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 21:11)   письмо автору
 
   для: antosha2023   (05.11.2009 в 21:08)
 

Замените строку
function month_rus($month) {
на
function russian_month($month) {

и строку
$date= ($day . month_rus($month) . $year);
на эту:
$date = $day . russian_month($month) . $year;

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 21:20)   письмо автору
 
   для: neadekvat   (05.11.2009 в 21:11)
 

спасибо те большое все пошло надо просто строчи вот эти function russian_month($month) {

$month = (int) $month;

$monthes = array ('' , 'январь' , 'февраль' , 'март' , 'апрель' ,
'май' , 'июнь' , 'июль' , 'август' , 'сентярь' ,
'октябрь' , 'ноябрь' , 'декабрь');

return $monthes[$month];
было поднять выше

спасибо те огромное

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 21:42)   письмо автору
 
   для: antosha2023   (05.11.2009 в 21:20)
 

кто знает как сделать отступ от даты месяца и года
у меня получилось вот так 03ноября2009 а как сделать вот так 03 ноября 2009

  Ответить  
 
 автор: Trianon   (05.11.2009 в 20:43)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:40)
 

Вы утверждаете - "у меня выводится сегодняшняя дата"
Где этот Ваш код, который выводит сегодняшнюю дату?
То, что Вы хотите, видно уже давно и прочно.
Не видно, что Вы для этого делаете.

  Ответить  
 
 автор: neadekvat   (05.11.2009 в 20:19)   письмо автору
 
   для: antosha2023   (05.11.2009 в 20:09)
 

Штатный телепат в отпуске
В каком формате вы получаете дату и в каком вы её хотите видеть?

  Ответить  
 
 автор: antosha2023   (05.11.2009 в 20:31)   письмо автору
 
   для: neadekvat   (05.11.2009 в 20:19)
 

05.ноябрь 2009

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

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