Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #6056 [572]
 От   : Serge V. Tarasov              2:5020/400          22 января 04, 14:03
 Кому : Asya Hmelentsova                                  23 января 04, 23:56
 Тема : Re: Преобразовать строковую дату в таймстамп
-------------------------------------------------------------------------------
From: "Serge V. Tarasov" 

"Asya Hmelentsova" 
сообщил/сообщила в новостях следующее:
news:1074774614@p111.f73.n5030.z2.FIDOnet.ftn...

> Чем можно преобразовать строковую дату (полученную из формы) в обычную
дату
> (timestamp). Что ничего подходящего найти не могу. Поделитесь мыслями
плиз.

Я, например, делал так:

// Функция проверяющая дату и возвращающая ее timestamp.
// Дата должна быть введена в формате
// дд.мм.гггг или, если установлен параметр $allowtime,
// то в формате дд.мм.гггг чч.мм
// Если дата не подходит, возвращается текущий timestamp
function validdate($date, $allowtime='')
   {
    $error = false;
    if (!$allowtime) $format = "/^\d{2}\.\d{2}\.\d{4}$/";
    else             $format = "/^\d{2}\.\d{2}\.\d{4} \d{1,2}\:\d{2}$/";
    if (!preg_match($format, $date)) $error = true;
    if (!$error)
       {
        if ($allowtime)
           {
            $a = explode(' ', $date);
            $date = $a[0];
            $time = $a[1];
            $t=explode(':', $time);
            if     ($t[0] > 23 || $t[0] < 0) $error = true;
            elseif ($t[1] > 59 || $t[1] < 0) $error = true;
           }
        $d = explode('.', $date);
        if     ($d[0] > 31   || $d[0] < 1)    $error = true;
        elseif ($d[1] > 12   || $d[1] < 1)    $error = true;
        elseif ($d[2] > 2030 || $d[2] < 1970) $error = true;
       }
    if ($error)      return time();
    if (!$allowtime) return mktime(0, 0, 0, $d[1], $d[0], $d[2]);
    return mktime($t[0], $t[1], 0, $d[1], $d[0], $d[2]);
   }

Удачи,
                Max.



-- 
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.1
 * Origin: Talk.Mail.Ru (2:5020/400)


При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!