Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужно проверить входит ли дата в диапазон дат, Никто не знает как? 
:(
    Опции темы
Igor_K
Дата 26.9.2008, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Добрый вечер!

У меня есть диапазон дат. Например 18.5.2003 и 24.7.2008. И еще есть дата, которую нужно проверить входит ли она в этот диапазон дат.  Как такое можно проверить? Но только переводить дату в число не подходит. Нужно как-то по другому.

Большое спасибо за помощь!

Это сообщение отредактировал(а) Igor_K - 26.9.2008, 19:32
PM MAIL   Вверх
solenko
Дата 26.9.2008, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Igor_K, почему не подходит?
Если действительно не подходит (но я себе такого представить не могу), то разбивайте на части и эти части сравнивайте


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Igor_K
Дата 26.9.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Потому что могут быть даты раньше 1970 года. В этом случае нужно что-то другое придумать. 
Я просто не мойму как их иначе можно сравнить.
PM MAIL   Вверх
solenko
Дата 26.9.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Код

<?php
$d= new DateTime('999-01-01');
$d1 = new DateTime('888-01-01');
if ($d1 > $d) {
    echo '?????????';
}else{
    echo '!!!!!!';
}





--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Igor_K
Дата 26.9.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Код

$d= new DateTime('999-01-01');
$d1 = new DateTime('888-01-01');
$d2 = new DateTime('1014-01-01');

if ($d2 >= $d && $d1 <= $d) echo '!!!!!!!!!!!!!!!!!!!!!';

 smile 

Спасибо, solenko!!!!! smile 
PM MAIL   Вверх
Akina
Дата 26.9.2008, 20:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Цитата(Igor_K @  26.9.2008,  21:12 Найти цитируемый пост)
Код

($d2 >= $d && $d1 <= $d)

Это хорошо при условии, что гарантированно $d2>$d1. А если нет, придется или комплементарное условие строить, или писАть нечто вроде 
Код

if ( datediff($d, $d1) * datediff($d, $d2) ) <= 0



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Igor_K
Дата 26.9.2008, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Если бы я знал, что такое комплиментарное условие...  smile 
PM MAIL   Вверх
Akina
Дата 26.9.2008, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Комплементарные == взаимно дополняющие.
Код

if ($d2 >= $d && $d1 <= $d) || ($d1 >= $d && $d2 <= $d)



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Sunvas
Дата 27.9.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 8
Всего: 89



Как вариант, можно все привести к TimeStamp и сравнивать, как обычные числа. Интересует?


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
shurup_312
Дата 27.9.2008, 05:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 27.3.2007

Репутация: нет
Всего: нет



Как вариант разбиваем по точкам на отдельные число, месяц и год. Сморим входит ли год в промежуток, если да, то месяц, если да то день. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0535 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.