ФорумПрограммированиеPHP для идиотов → Дата

Дата

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 29 ноября 2008 г. 17:23

    Нужно написать функцию принемающюю строку вида 0000-00-00 00:00:00
    и возвращающюю
    либо "Сегодня"
    либо "Вчера"
    или просто дату еслиэто не сегодняшняя и не вчерашняя.

    Как определить сегодняшнюю дату знаю
    if ($time<date('Y-m-j 00:00:00')) то не сегодняшняя
    а как определить вчерашнюю?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 ноября 2008 г. 17:34, спустя 11 минут 42 секунды

    $timestamp = strtotime("-1 day");
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 29 ноября 2008 г. 18:10, спустя 35 минут 11 секунд

    ну хорошо , получу я данные о вчерашнем дне
    getdate(strtotime("-1 day"));

    а как мне из такого вида 0000-00-00 00:00:00 данные в такой же вид привести?
    preg_replace?

    В общем, в разных форматах данные, как в 1 формат привести?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 ноября 2008 г. 18:13, спустя 3 минуты 39 секунд

    php.net/strtotime почитай ;)
    Сапожник без сапог
  • SaM1001

    Сообщения: 60 Репутация: N Группа: Кто попало

    Spritz 29 ноября 2008 г. 18:15, спустя 1 минуту 45 секунд

    CONVERT(varchar(10), Date, 104) AS Date


    где 10, там сколько знаков тебе показать надо
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 ноября 2008 г. 18:17, спустя 1 минуту 34 секунды

    ебат в род. нука всем читать мануалы!
    Сапожник без сапог
  • SaM1001

    Сообщения: 60 Репутация: N Группа: Кто попало

    Spritz 29 ноября 2008 г. 18:35, спустя 18 минут 37 секунд

    Чёт непонятно, зачем из даты конвентировать в дату? Если она и так в формате даты? Оставь её в покое и выдай на страницу… привяжи к только к той фигне которую ты показываешь по базе данных по id или что у тебя там есть…
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 29 ноября 2008 г. 18:36, спустя 1 минуту 13 секунд

    у него даты в разных форматах, одна - дата, вторая - надо дату предыдущего дня.
    Сапожник без сапог
  • SaM1001

    Сообщения: 60 Репутация: N Группа: Кто попало

    Spritz 29 ноября 2008 г. 18:40, спустя 3 минуты 19 секунд

    Это я тоже прочёл, просто нафиг столько запарок, если у него вчерашняя новость например на сайте, то пусть из БД читает всю мутотню, или же простой фукцией if, вроде как не сложно
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 30 ноября 2008 г. 0:09, спустя 5 часов 28 минут 43 секунды

    у меня не новости,
    У меня заявки =)
    выводитсяя список заявок и около каждой написано число когда над этой заявкой работали.(инженер действие отмечает).
    Так во, хотелось бы сделать что бы если вчерашнее число, то писалось "вчера" если к заявке прикосались сегодня, то пишется "сегодня"

    просто нафиг столько запарок

    Если пожно все решить в 2 строчки то прошу показать как.

    А я только домой пришел, пьяный и не один =) поэтому думать буду завтра :)
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 30 ноября 2008 г. 14:03, спустя 13 часов 54 минуты 36 секунд

    Зделал так:

    	private function time_return($time)
    {
           $time=substr($time,0,10);
           $massiv['Сегодня']="now";
           $massiv['Вчера']="-1 day";
           $massiv['Позавчера']="-2 day";
           $massiv['Век назад]="-100 day";

           foreach(array_keys($massiv) as $var)
          {
            if($time==date('Y-m-j',strtotime($massiv[$var])))
            return $var;
          }

    return $time;
    }[/code]
    Давайте критиковать мой код=))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 ноября 2008 г. 14:41, спустя 37 минут 58 секунд

            foreach(array_keys($massiv) as $var)
    {
    if($time==date('Y-m-j',strtotime($massiv[$var])))
    return $var;
    }


    извините, но вы полный пиздец.

            foreach($massiv as $var=>$val)
    {
    if($time==date('Y-m-j',strtotime($val)))
    return $var;
    }

    вы вот этот кусок кода повторили своим. найдите 5 отличий.
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 30 ноября 2008 г. 15:04, спустя 22 минуты 28 секунд

    Хы, а я не знал что так можно =))
    Спасибо, исправил.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 ноября 2008 г. 17:27, спустя 2 часа 23 минуты 28 секунд


    Хы, а я не знал что так можно =))
    Спасибо, исправил.


    не знал???? оООООО

    не ну я тогда точно хуею))))))))))))))))))))))))))

    http://ru2.php.net/foreach
    Сапожник без сапог
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 ноября 2008 г. 17:28, спустя 50 секунд

    а остальное критиковать не имеет смысла, идея вроде бы не влоб(switch) я бы нечто подобное же сделал. а за незнание таких мелочей конечно "помидорчиками бы вас, помидорчиками" (с)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!