1. PHP / Говнокод #5272

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function DateFromDBToHr($date)
    {
    	$datetime = explode(" ", $date);
    	$dates = explode("-", $datetime[0]);
    	return (intval($dates[0])) ? date("d-M-Y", mktime(0, 0, 0, $dates[1], $dates[2], $dates[0])) : false;
    }

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

    Запостил: elw00d, 14 Января 2011

    Комментарии (4) RSS

    • > про существование strtotime автор даже не догадывается

      ну вот не зря же даже подсветка кода делает функции пхп ссылками на страницы мана.
      Нет, видимо, надо, что бы пых, обнаруживая, что его спрашивают с локалхоста, кидал нотис "Have you read The Fucking Manual, sucker?"
      Ответить
    • Автор, каким боком тут strtotime? Интересно, его вообще кто-нибудь на практике использует?
      Ответить
      • А Вы бы как в данном случае сделали?..
        Ответить
        • По большому счету, из строки вида 2010-12-31 12:00:00 не важно, каким методом мы достанем метку unix - mktime или strtotime. В первом случае важно, что мы можем сами задать порядок элементов, а во втором важно строго следовать стандартам GNU Date Input Formats, не соблюдая которые можно получить трудновыявляемую ошибку.

          Кроме того: strtotime -- Преобразует текстовое представление даты на английском языке в метку времени Unix, что как бы говорит нам...
          Кроме того_2: функцию удобно использовать для вычисления смещений дат, что в данном случае не используется.

          Это, конечно, все ИМХО. Возможно потому, что сам всегда хранил даты в виде метки unix и не сталкивался с извращениями конвертирования дат.

          P.S. А говно здесь в том, что автор сам не уверен, что в результате манипуляций у него получится метка времени.
          И intval вместо is_int, кажется, никто не заметил.
          И да, дата могла быть отформатирована в запросе. С этим не спорю.
          Ответить

    Добавить комментарий