Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вопрос как примножить число к дате...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
android
Отправлено: 06 Ноября, 2011 - 18:34:49
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Есть дата добавления материала 06.11.2011 при этом на странице добавления мы ставим в спец поле число допустим 5. После странице вывода материала дата должна быть типа 11.11.2011

Так же дата может быть 30.12.2011 при добавлении указываем в спец поле 3 и у нас должна получится дата типа 02.01.2012
(Добавление)
Делал так:



но если дата 30.12.2012 то он ставит 32.12.2012
 
 Top
caballero
Отправлено: 06 Ноября, 2011 - 18:42:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




strtotime("+5 day", $mydate);


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 18:43:26
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




делай timestamp'ом. тоесть через date обрабатывай timestamp в нужном тебе формате
 
 Top
android
Отправлено: 06 Ноября, 2011 - 18:44:45
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




$mydate = date('d.m.Y');

?
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 18:49:18
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




$date = date('d.m.Y', time());
вместо time() ставь свой timestamp, подсчитать в секундах +2, 3 дня не должно составлять труда
 
 Top
android
Отправлено: 06 Ноября, 2011 - 18:57:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Bio man не чего не понял



Дата статична просто к ней прибавляется 5 дней.

caballero поподробнее про $mydate плз
 
 Top
caballero
Отправлено: 06 Ноября, 2011 - 18:58:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
подсчитать в секундах +2, 3 дня не должно составлять труда

именно так он и получает 32 число месяца

strtotime работает с календарем а не просто тупо складывает секукнды


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
android
Отправлено: 06 Ноября, 2011 - 18:59:57
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Что в переменной $mydate!!?!
 
 Top
caballero
Отправлено: 06 Ноября, 2011 - 19:00:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




$mydate твоя исходная дата в timestamp полученая черз time()
на выходе опять же таймстемп
потом date() форматируешь какую надо строку

полно примеров в доках по пхп


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
android
Отправлено: 06 Ноября, 2011 - 19:03:04
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Блин не могу понять Огорчение

http://www.php.su/functions/?strtotime

как что ....



$d = date("d.m.Y");
echo strtotime('+5 day', $d);

вот что получаю 432006
 
 Top
caballero
Отправлено: 06 Ноября, 2011 - 19:06:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




date("d.m.Y")

это строка с датой на не timestamp

echo date("d.m.Y",strtotime('+5 day', time()));
(Добавление)
нужную дату в таймстамп со строки можно получить через mktime() или распарсить такой же strtotime()


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
android
Отправлено: 06 Ноября, 2011 - 19:08:59
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Спасибо большое!!! даже огромное, кстати если не заняты и есть время помогите с последним постом http://forum.php.su/topic.php?fo...97629#1320597629
(Добавление)
caballero И маленький вопрос...

Вот я занес в бд эту дату с +5 дней

Теперь нужно сделать так:

PHP:
скопировать код в буфер обмена
  1. if($q['time'] > date("d.m.Y H:i")) {
  2.  //доступ закрыт срок еще не прошел...
  3. } else {
  4.  // доступ открыт уже более 11.11.2011
  5. }


это дело работает. Но если дата 06.12.2011 то не работает...
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 20:20:02
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




сравнивай timestamp'ы и храни в БД тоже таймстемпы, меньше гемороя будет. хотя тебе решать как правильно.
(Добавление)
android пишет:
Есть дата добавления материала 06.11.2011 при этом на странице добавления мы ставим в спец поле число допустим 5. После странице вывода материала дата должна быть типа 11.11.2011

Так же дата может быть 30.12.2011 при добавлении указываем в спец поле 3 и у нас должна получится дата типа 02.01.2012
(Добавление)
Делал так:



но если дата 30.12.2012 то он ставит 32.12.2012


например,
PHP:
скопировать код в буфер обмена
  1. $time = time();
  2. $future_time = $time + 432000; // + 5 дней
  3.  
  4. echo date('d.m.Y', $future_time);


и даже очень корректно работает без всяких преобразований
 
 Top
android
Отправлено: 06 Ноября, 2011 - 20:43:01
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




не понял, вот заношу в бд

$timestap = strtotime('+5 day', time());

и сравниваю

PHP:
скопировать код в буфер обмена
  1. if($q['time'] < time()) {
  2.  //доступ закрыт срок еще не прошел...
  3. } else {
  4.  // доступ открыт уже более 11.11.2011
  5. }


не работает
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 20:50:47
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




$timestap = time() + 432000;
$q['time'] должен иметь вид цифорок например 121505451.
и if($q['time'] > time())
(Добавление)
ориентир: 1 день это 24 часа и в секундах это 86400.
основываясь на этом числе можно посчитать нужное кол. дней просто умножив это число

(Отредактировано автором: 06 Ноября, 2011 - 20:53:28)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB