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
Форумы портала PHP.SU :: Версия для печати :: вопрос как примножить число к дате...
Форумы портала PHP.SU » » Вопросы новичков » вопрос как примножить число к дате...

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

1. android - 06 Ноября, 2011 - 18:34:49 - перейти к сообщению
Есть дата добавления материала 06.11.2011 при этом на странице добавления мы ставим в спец поле число допустим 5. После странице вывода материала дата должна быть типа 11.11.2011

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



но если дата 30.12.2012 то он ставит 32.12.2012
2. caballero - 06 Ноября, 2011 - 18:42:30 - перейти к сообщению
strtotime("+5 day", $mydate);
3. Bio man - 06 Ноября, 2011 - 18:43:26 - перейти к сообщению
делай timestamp'ом. тоесть через date обрабатывай timestamp в нужном тебе формате
4. android - 06 Ноября, 2011 - 18:44:45 - перейти к сообщению
$mydate = date('d.m.Y');

?
5. Bio man - 06 Ноября, 2011 - 18:49:18 - перейти к сообщению
$date = date('d.m.Y', time());
вместо time() ставь свой timestamp, подсчитать в секундах +2, 3 дня не должно составлять труда
6. android - 06 Ноября, 2011 - 18:57:13 - перейти к сообщению
Bio man не чего не понял



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

caballero поподробнее про $mydate плз
7. caballero - 06 Ноября, 2011 - 18:58:09 - перейти к сообщению
Цитата:
подсчитать в секундах +2, 3 дня не должно составлять труда

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

strtotime работает с календарем а не просто тупо складывает секукнды
8. android - 06 Ноября, 2011 - 18:59:57 - перейти к сообщению
Что в переменной $mydate!!?!
9. caballero - 06 Ноября, 2011 - 19:00:42 - перейти к сообщению
$mydate твоя исходная дата в timestamp полученая черз time()
на выходе опять же таймстемп
потом date() форматируешь какую надо строку

полно примеров в доках по пхп
10. android - 06 Ноября, 2011 - 19:03:04 - перейти к сообщению
Блин не могу понять Огорчение

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

как что ....



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

вот что получаю 432006
11. caballero - 06 Ноября, 2011 - 19:06:30 - перейти к сообщению
date("d.m.Y")

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

echo date("d.m.Y",strtotime('+5 day', time()));
(Добавление)
нужную дату в таймстамп со строки можно получить через mktime() или распарсить такой же strtotime()
12. android - 06 Ноября, 2011 - 19:08:59 - перейти к сообщению
Спасибо большое!!! даже огромное, кстати если не заняты и есть время помогите с последним постом 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 то не работает...
13. Bio man - 06 Ноября, 2011 - 20:20:02 - перейти к сообщению
сравнивай 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);


и даже очень корректно работает без всяких преобразований
14. android - 06 Ноября, 2011 - 20:43:01 - перейти к сообщению
не понял, вот заношу в бд

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

и сравниваю

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


не работает
15. Bio man - 06 Ноября, 2011 - 20:50:47 - перейти к сообщению
$timestap = time() + 432000;
$q['time'] должен иметь вид цифорок например 121505451.
и if($q['time'] > time())
(Добавление)
ориентир: 1 день это 24 часа и в секундах это 86400.
основываясь на этом числе можно посчитать нужное кол. дней просто умножив это число

 

Powered by ExBB FM 1.0 RC1