Автор Тема: Дата  (Прочитано 4668 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Solid

  • Любитель подемогогить =)
  • Постоялец
  • ***
  • Сообщений: 139
  • +0/-0
  • 2
    • Просмотр профиля
    • http://coding.dyn.ee/
Дата
« : 18 Апреля 2002, 03:43:24 »
Поставленная такая задача:
Есть дата, например сегоднешняя - 18.04.2002.
Нужно сделать слудющее, если дата, ещё одна, совпадает с предыдущими 7-ю днями, то выводим, например true, впротивном случае - false.
Если кто не пнял, нужно что бы например, если сегодня 3.05.2002, что бы если дата 30.04.2002 выводило true, как это лучше сделать, спрашивается.
Спасибо, объяснил как мог, спать хочу, всётаки 3:00 уже ;)
..  ..

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Дата
« Ответ #1 : 18 Апреля 2002, 09:29:15 »
Переводи в таймштамп, вычитай олно из другого и сравнивай с (3600*7).
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
Дата
« Ответ #2 : 18 Апреля 2002, 12:36:30 »
Я бы добавила, что с 86400*7
Рыжая бестия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Дата
« Ответ #3 : 18 Апреля 2002, 12:38:10 »
Цитировать
Я бы добавила, что с 86400*7

Логично :-)
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Solid

  • Любитель подемогогить =)
  • Постоялец
  • ***
  • Сообщений: 139
  • +0/-0
  • 2
    • Просмотр профиля
    • http://coding.dyn.ee/
Дата
« Ответ #4 : 18 Апреля 2002, 16:33:46 »
Эммм .. я же вроде бы просил пример ;) или забыли?
..  ..

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Дата
« Ответ #5 : 18 Апреля 2002, 16:45:05 »

$timestamp1
=mktime (000$month1$day1$year1);
$timestamp2=mktime (000$month2$day2$year2);
if((
$timestamp1-$timestamp2)>86400*7) { 
//прошло больше
} else{
//прошло меньше, или 2 было позже чем 1
}

получить месяц, день и год из строки, надеюсь, проблем нет?

з.ы. надеюсь, я не налажал тут..... :-)))
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Solid

  • Любитель подемогогить =)
  • Постоялец
  • ***
  • Сообщений: 139
  • +0/-0
  • 2
    • Просмотр профиля
    • http://coding.dyn.ee/
Дата
« Ответ #6 : 18 Апреля 2002, 17:02:56 »
Metaller:
Спасибо!
А вот и полностью код, может кому пригодится:

<?
$date[0] = \'11.12.2002\';
$date[1] = \'02.12.2002\';

list($day[0], $month[0], $year[0]) = explode(\'.\', $date[0]);
list($day[1], $month[1], $year[1]) = explode(\'.\', $date[1]);

$timestamp[0] = mktime(0, 0, 1, $month[0], $day[0], $year[0]);
$timestamp[1] = mktime(0, 0, 1, $month[1], $day[1], $year[1]);

if(($timestamp[0]-$timestamp[1])>86400*7) {
	
echo \'false\';
} else {
	
echo \'true\';
}
?>
..  ..

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Дата
« Ответ #7 : 18 Апреля 2002, 17:07:23 »
Тогда уж, для повышения быстродействия, надо заранее посчитать 86400*7 - и вставить уже готовое число в скрипт, дабы не заставлять бедный пхп считать всякие глупости :-)
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Solid

  • Любитель подемогогить =)
  • Постоялец
  • ***
  • Сообщений: 139
  • +0/-0
  • 2
    • Просмотр профиля
    • http://coding.dyn.ee/
Дата
« Ответ #8 : 18 Апреля 2002, 18:00:10 »
Metaller:
Пусть считает, хоть думать получше нучился :D
..  ..

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Дата
« Ответ #9 : 19 Апреля 2002, 02:04:57 »
какой ужас!!!
быстро смотрим ман:
http://www.php.net/manual/en/function.strtotime.php
с уважением,
магистр белой магии.

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Дата
« Ответ #10 : 19 Апреля 2002, 09:37:47 »
Dm
пожалуй, работать оно будет побыстрее :-)))) Но зато неинтересно :-)
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Дата
« Ответ #11 : 19 Апреля 2002, 19:40:57 »
Цитировать
Но зато неинтересно :-)

точно! :) через одно место привычнее же! ;) (без намеков ни на кого)
я сторонник того, чтобы все было все как надо, а не так как не надо.
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Дата
« Ответ #12 : 24 Апреля 2002, 19:51:21 »
Solid Тогда делаем вот так:

<?
$date[0] = \'11.12.2002\';
$date[1] = \'02.12.2002\';

$timestamp[0] = strtotime ("$date[0]");
$timestamp[1] = strtotime ("$date[1]"), 

if(($timestamp[0]-$timestamp[1])>86400*7) {
    echo \'false\';
} else {
    echo \'true\';
}
?>
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28