За последние 24 часа нас посетили 17962 программиста и 1611 роботов. Сейчас ищут 920 программистов ...

что значит эта функция...

Тема в разделе "PHP для новичков", создана пользователем ser_ega, 7 сен 2009.

  1. ser_ega

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

    С нами с:
    13 ноя 2008
    Сообщения:
    56
    Симпатии:
    0
    Доброго времени суток всем...
    Занимаюсь переписыванием кода с ASP на PHP. Наткнулся на такой код:

    if ((r1.SerDateAct_S > DateTime.Now) || (!DateTime.Equals(new DateTime(), r1.SerDateDeact_S) && (r1.SerDateDeact_S <= DateTime.Now)))
    {
    ...
    }

    Можете помочь сделать такой же код с сохранением логики сравнения дат, но с использованием функций php.
    Заранее благодарю....
     
  2. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    DateTime.Now по всей видимости time();

    покаж, что из себя представляет r1.SerDateAct_S, выведи ее.
     
  3. ser_ega

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

    С нами с:
    13 ноя 2008
    Сообщения:
    56
    Симпатии:
    0
    rdr.GetDateTime(rdr.GetOrdinal("DateAct_S"));
    там находиться дата ввиде 08.09.2009
     
  4. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    я ж просил r1.SerDateAct_S, а ты мне rdr.GetDateTime(rdr.GetOrdinal("DateAct_S")), которой вообще нет в условии выше.

    В общем тебе нужны date(), time(), strtotime()
    Смотри, что под каждой переменной/процедурой и конвертируй, сравнивай.
     
  5. ser_ega

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

    С нами с:
    13 ноя 2008
    Сообщения:
    56
    Симпатии:
    0
    извени утром спешил:
    r1.SerDateAct_S = rdr.GetDateTime(rdr.GetOrdinal("DateAct_S"));
    эта дата берется из базы...
    Что сравнивать понятно, но никак не могу понят смысл этого выражения (!DateTime.Equals(new DateTime(), r1.SerDateDeact_S) && (r1.SerDateDeact_S <= DateTime.Now))
    Что проверяется функцией Equals?
     
  6. iliavlad

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

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    наверное эквивалентность переданных ей значений. в справке по асп должно быть хорошо про это написано.
     
  7. sorteros

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

    С нами с:
    28 авг 2009
    Сообщения:
    54
    Симпатии:
    0
    Метод equals проверяет равенство объектов структуры datetime. Значит r1.SerDateDeact_S должно быть равно new DateTime(). Но new DateTime().ToString() возвращает "01.01.0001 0:00:00". Есть у тебя такие даты в базе? Сомневаюсь что-то.
    Возможно, при определённых обстоятельствах rdr.GetDateTime() может возвращать new DateTime(), тогда такое условие оправдано.

    Не надо пытаться переписать код с С# на php, это дохлый номер. Поймите логику и напишите заново.
     
  8. ser_ega

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

    С нами с:
    13 ноя 2008
    Сообщения:
    56
    Симпатии:
    0
    суть такая - заданы две даты (первая больше второй)...
    нужно условие если текущая дата выходит за рамки этого диапазона то TRUE если находится в нем то FALSE.