Date Format

Тема в разделе "PHP программирование", создана пользователем Arsench, 22 ноя 2008.

  1. Arsench

    Arsench Гость

    Здравствуйте дорогие профессионалы,

    Вот я только начинаю с РНР и хочу добавит в базу данных дата в формате дд/мм/гггг у меня добавляеться как гггг/мм/дд но я хочу поменят это, как можно сделать это, помагите пожалуйста


    Спасибо заранее и извините за плохой русский язык.
     
  2. etc

    etc Гость

    В базе нет форматов, они только при отображении!
     
  3. GOsha

    GOsha Гость

    Я наоборот пишу как ГГГГ/ММ/ДД, т.к. при сортировке по этому полю будет правильный результат.
    Если ДД/ММ/ГГГГ, то получится, что 10/06/08 стоит выше чем 15/06/09, но ниже чем 08/12/1986... Я понятно абиссняю. А переставить можно при помощи строковых функций.
     
  4. Arsench

    Arsench Гость

    спасибо большое,
    дело в том что поле должен заполнит пользователь как дд/мм/гггг а не гггг/мм/дд а отображение уже делаю я и отображается как дд/мм/гггг
     
  5. Vovochka

    Vovochka Гость

    Ну зделать пару функций, преобразований:
    Код (Text):
    function mirror_date($date) {
    preg_match('/^(\\d{2,4})\\/(\\d{2})\\/(\\d{2,4})$/', $date, $m);
    return "$m[3]/$m[2]/$m[1]";
    }
    print mirror_date('2004/12/21'); // 21/12/2004
    Причем эта функици работает в обе стороны. Только если на вход правильные данные подавать.
     
  6. GOsha

    GOsha Гость

    У меня другая. Подлиннее:
    Код (Text):
     function DateConvert($mode,$string)
    {
    if($mode=='2sys')
    {
    if(!ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})", $string))
    {
    $c_date = 'ERR';
    }
    else
    {
    $sys_str=$string;
    $sys_m=substr($sys_str,3,2); //12.12.1233
    $sys_y=substr($sys_str,6,4);
    $sys_d=substr($sys_str,0,2);
    $c_date=$sys_y.$sys_m.$sys_d;
    }
    }
    if($mode=='2man')
    {
    $f_str=$string;
    $f_y=substr($f_str,0,4);
    $f_m=substr($f_str,4,2);
    $f_d=substr($f_str,6,2);
    $c_date=$f_d.".".$f_m.".".$f_y;
    }
    return $c_date;
    }
     
  7. etc

    etc Гость

    Ребята, про типы полей дататайм и иже, слыхали?
     
  8. Vovochka

    Vovochka Гость

    Надеюсь, ты это не нам :unsure:
     
  9. GOsha

    GOsha Гость

    Слыхали, но не помню почему я отказался.
    Кстати один фиг, если мне надо будет изменить это значение мне строку разворачивать придется... ПРиечм в обе стороны. Та же фигня.
     
  10. etc

    etc Гость

    Слвсем не таже, а очень даже разная фигня, избавляющая от всяких таких вот вопросов как в сабже, и далее по теме.
     
  11. GOsha

    GOsha Гость

    2 etc:
    Что неправильно?
    1. вот сделал я запрос к базе.
    2. Получил строку: 20071012 дальше мне что с ней делать, чтобы показать юзеру?
    3. Развернуть с помощью чего? Строковых функций
    4. Юзер меняет дату на свою и мне ее нужно записать
    5. Нужно опять развернуть строку.
    6. Записать в базу

    Так? Или я что-то упустил?
     
  12. etc

    etc Гость

    Если тип соответственный, то это не строка. И сортировка и поиск и т.д. при запросе уже совсем по другому работают.
    А что до редактирования, то пользователь всегда! (ну или в 99% случаев) работает именно со строками, и что? вас не смущает что какоенибудь целоцисленное данное он тоже редактирует по средствам строки, или вы и их в базе как строкой держите? Или у вас в базах только строки на все?

    Так? Или я что-то упустил? ;)
     
  13. GOsha

    GOsha Гость

    Упустил. Допустим возвращается переменная. Определенного типа. НО! Када юзер правит форму - именно строки он и правит. По поводу сортировки - на то оно все и разворачивается, чтобы сортировка давала правильный результ.

    Теперь самое веселое:
    Назовите, пожалуйста, мне тип переменной в ПХП, полученной из этого поля в MySQL.

    По поводу выпада "в базах одни строки держим" - там много разных типов полей, просто дэйттайм я посчитал излишним.
     
  14. Vovochka

    Vovochka Гость

    Зря.
     
  15. etc

    etc Гость

    GOsha Дык небыло никакого выпада, я засомневался и задал вопрос.
    Подрукой нету пхп, что-бы проверить, но думаю что при фетче придет объект, и мне думаеться, что это не строка. :)

    Правильно, и про это я вам и говорил. Деньги например он тоже правит как строки, и что? Вот в базе например есть некий баланс, и надо по средствам какогото интерфейса докинуть туда, например $100.5, тоже вбивать будут как строку. а в базе нет ...
     
Загрузка...
Похожие Темы - Date Format
  1. Akupaka
    Ответов:
    2
    Просмотров:
    2.879
  2. Vander
    Ответов:
    1
    Просмотров:
    536
  3. Kozolick
    Ответов:
    0
    Просмотров:
    142
  4. frII
    Ответов:
    3
    Просмотров:
    560
  5. Amfion
    Ответов:
    6
    Просмотров:
    740

Поделиться этой страницей