За последние 24 часа нас посетили 17477 программистов и 1650 роботов. Сейчас ищут 936 программистов ...

PHP ГГГГ.ММ.ДД<->ДД.ММ.ГГГГ Как?

Тема в разделе "PHP для новичков", создана пользователем Andrey19, 5 мар 2008.

  1. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    как преобразоватть PHP ГГГГ.ММ.ДД<->ДД.ММ.ГГГГ Как?
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. print date('d.m.Y', strtotime(strtr('.', '-', '2008.03.05')));
    Ну или regexp.
     
  3. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    т.е. так будет работать (сейчас попробовать не могу):

    PHP:
    1.  
    2.  <?php
    3. $dt=date('d.m.Y');//Получим ДД.ММ.ГГГГ
    4. $dt= date('Y.m.d', strtotime($dt));//Получим ГГГГ.ММ.ДД
    5.  
     
  4. kilroy

    kilroy Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    46
    Симпатии:
    0
    Адрес:
    у тебя пельмени?
    PHP:
    1. <?php echo date("d.m.Y", strtotime($row_notes['added'])) ?>
    Тоже самое что и выше только дата берется из поля БД.
     
  5. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    сенькс, а то MySQL требует дату в формате к которому мы не привыкли
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    ДД.ММ.ГГГГ - это некорректный формат даты. strtotime его не "проглотит".
     
  7. Clone

    Clone Guest

    А почему бы не заюзать
    PHP:
    1. <?php
    2. implode('.', array_reverse(explode('.', $date)));
    3.  
    Имхо быстрее будет... Хотя канеш экономия на спичках.
     
  8. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    Ты хочешь сказать что это не будет работать? а как мне это сделать?
     
  9. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
     
  10. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Andrey19, strtotime() не понимает русский формат даты в виде ДД.ММ.ГГГГ, у буржуанов месяц сначала - ММ.ДД.ГГГГ.
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Символ . нельзя использовать для разделения.
    Всё она понимает, просто надо вместо точек - дефис.
     
  12. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    понимает и с точками
     
  13. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. print date('d.m.Y', strtotime('06.03.2008'));
    3. print '<br />';
    4. print date('d.m.Y', strtotime('2008.03.06'));
    Код (Text):
    1. 06.03.2008
    2. 01.01.1970
     
  14. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    PHP:
    1.  
    2. <?php
    3.  $dt=date("d.m.Y");//Получим ДД.ММ.ГГГГ
    4.  $dt= date("Y.m.d", strtotime($dt));//Получим ГГГГ.ММ.ДД
    5.  
    ?
    Вот так работает, этим я дома занимаюсь поэтому точно код выложить пока не могу, завтра точно скопирую.

    может ещё зависит от версии РНР
     
  15. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Так да. Обратно нет.
     
  16. Andrey19

    Andrey19 Активный пользователь

    С нами с:
    25 фев 2008
    Сообщения:
    20
    Симпатии:
    0
    сейчас на обеде по быстрому проверил действительно так
     
  17. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Sergey89, ты прав, понимает. И с точками тоже понимает. Тока я почти на 100% был уверен, что не понимает. Может он в пятой версии изменился или в голове у меня что-то напуталось.