powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP+MSQL] Прибавление месяца к текущей дате
20 сообщений из 45, страница 2 из 2
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355489
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex ChooА что мешает проверить?

select dateadd(mm, 1, '2013-01-31 00:00:00.000')

2013-02-28 00:00:00.000

Ну если работает как надо - тогда гууд :) А проверить не могу, у меня ms sql нету )) Да и вообще у меня линукс, и как обычно ms продукты на него не стают как надо (если и стают вообще).
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355498
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...авторвот работающий вариант:
гыгыгы...
интэресно! а до 31 МАРТА вообще гарантия предусматривается... !?

В варианте, нужном автору - нет )) Логика: купил 5-ого числа, значит и гарантия до 5-ого числа. купил в январе, значит гарантия действует до того же числа в феврале или до последнего дня месяца, если в нём данной даты нету и т.д.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355503
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёркак-то так...пропущено...

гыгыгы...
интэресно! а до 31 МАРТА вообще гарантия предусматривается... !?

В варианте, нужном автору - нет )) Логика: купил 5-ого числа, значит и гарантия до 5-ого числа. купил в январе, значит гарантия действует до того же числа в феврале или до последнего дня месяца, если в нём данной даты нету и т.д.

кстати, если у ТС гарантия на товары будет не только на месяц, но и (на некоторые) на 2 или 3 месяца - то гарантия до 31 марта будет возможна.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355513
авторВ варианте, нужном автору - нет )) Логика: купил 5-ого числа, значит и гарантия до 5-ого числа. купил в январе, значит гарантия действует до того же числа в феврале или до последнего дня месяца, если в нём данной даты нету и т.д.
а ты и есть ТС? просто, ты аппелируешь условиями задачи под своё решение - смущён...
я купил 28 февраля - почему бы гарантии не быть до 31 марта?

пысы может поинтересуемся у ТС что за задачу перед ней поставили, а потом бросимся её решать?! ;)
авторкстати, если у ТС гарантия на товары будет не только на месяц, но и (на некоторые) на 2 или 3 месяца - то гарантия до 31 марта будет возможна.
см. пысы
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355544
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...авторВ варианте, нужном автору - нет )) Логика: купил 5-ого числа, значит и гарантия до 5-ого числа. купил в январе, значит гарантия действует до того же числа в феврале или до последнего дня месяца, если в нём данной даты нету и т.д.
а ты и есть ТС? просто, ты аппелируешь условиями задачи под своё решение - смущён...
я купил 28 февраля - почему бы гарантии не быть до 31 марта?

пысы может поинтересуемся у ТС что за задачу перед ней поставили, а потом бросимся её решать?! ;)
авторкстати, если у ТС гарантия на товары будет не только на месяц, но и (на некоторые) на 2 или 3 месяца - то гарантия до 31 марта будет возможна.
см. пысы

Если я не прав, то ТС меня поправит. Ладно, дождёмся ответа ТС, что бы не было сомнений
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355572
авторЕсли я не прав, то ТС меня поправит. Ладно, дождёмся ответа ТС, что бы не было сомнений
сомнений в чём? прав - не прав?!
я купил 28 февраля - почему бы гарантии не быть до 31 марта?
ответь пожалуйста!
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355613
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как-то так...авторЕсли я не прав, то ТС меня поправит. Ладно, дождёмся ответа ТС, что бы не было сомнений
сомнений в чём? прав - не прав?!
я купил 28 февраля - почему бы гарантии не быть до 31 марта?
ответь пожалуйста!

А кстати да, как это можно исправить?

вот это хорошо работает
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $d = mktime($h, $i, $s, $m+$months, $d, $y);
  if (date("m", $d)+12*(date("Y", $d))!=$y*12+$m+$months){
    $d = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $d;
}

echo date("Y-m-d", add_months(strtotime("2013-01-31"), 1));



,но желательно что бы так, если 28.02.2013, то если прибавить месяц, должно быть 31 марта. А не 28 марта.
Желательно что бы календарный месяц прибавлялся, это вообще реально сделать?
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355621
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЖелательно что бы календарный месяц прибавлялся, это вообще реально сделать?
прибавлять секунды надо.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355634
авторэто вообще реально сделать?
реально сделать многое...
если у тебя последний день месяца, то полученная дата, должна быть последним днём месяца
если разница между двумя датами больше 2! месяцев, то полученная дата должна быть последним днём месяца
полагаю, реализовать несложно! (даже самостоятельно ;)))

одно непонятно, почему с конца января, гарантия будет всего 28-29 дней, а в июле\августе 31!!!
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355636
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпочему с конца января, гарантия будет всего 28-29 дней,
все вопросы к Октавиану Августу и далее по списку.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355655
авторвсе вопросы к Октавиану Августу и далее по списку.
да как-то я сомневаюсь - больше к продавцу\изготовителю\законодателю...
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355669
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю что, февраль просто коротенький месяц и не более того.
Помогите как это сделать, модифицировать вот это код.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $d = mktime($h, $i, $s, $m+$months, $d, $y);
  if (date("m", $d)+12*(date("Y", $d))!=$y*12+$m+$months){
    $d = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $d;
}

echo date("Y-m-d", add_months(strtotime("2013-01-31"), 1));
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355789
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маша иДумаю что, февраль просто коротенький месяц и не более того.
Помогите как это сделать, модифицировать вот это код.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $d = mktime($h, $i, $s, $m+$months, $d, $y);
  if (date("m", $d)+12*(date("Y", $d))!=$y*12+$m+$months){
    $d = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $d;
}

echo date("Y-m-d", add_months(strtotime("2013-01-31"), 1));



Я то помогу конечно... Но ответьте на вопрос, какой интервал между 28 февраля и 28 марта? и ещё один вопрос: какой интервал между 28 февраля и 31 марта? У меня в голове проскакивают на первый вопрос ответ месяц, а на второй месяц и 3 дня :)
Вы уверены, что данная модификация будет верной и такая система гарантий не породит проблем с покупателями, которые как минимум не будут будут считать что система гарантий непрозрачная, а вообще могут считать что их надувают :). Как Вы объясните ситуацию, когда два друга-клиента обсуждают Ваш магазин, и проявляется, что один не смог сдать товар по гарантии через 28 дней (1-ого марта, по чисто человеческой логике меньше месяца), а второй хвастается, что ему поменяли товар через месяц и 3 дня?

изменение:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $date = mktime($h, $i, $s, $m+$months, $d, $y);
  if ((date("m", $date)+12*(date("Y", $date))!=$y*12+$m+$months) || (date("m", mktime($h, $i, $s, $m, $d+1, $y))!=$m)){
    $date = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $date;
}

echo date("Y-m-d", add_months(strtotime("2013-02-27"), 1));
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355798
qwerty4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WHERE `date` = NOW() + INTERVAL 1 WEEK
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355801
qwerty4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty4321,

не WEEK, а MONTH
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355824
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПрограмёрМаша иДумаю что, февраль просто коротенький месяц и не более того.
Помогите как это сделать, модифицировать вот это код.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $d = mktime($h, $i, $s, $m+$months, $d, $y);
  if (date("m", $d)+12*(date("Y", $d))!=$y*12+$m+$months){
    $d = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $d;
}

echo date("Y-m-d", add_months(strtotime("2013-01-31"), 1));



Я то помогу конечно... Но ответьте на вопрос, какой интервал между 28 февраля и 28 марта? и ещё один вопрос: какой интервал между 28 февраля и 31 марта? У меня в голове проскакивают на первый вопрос ответ месяц, а на второй месяц и 3 дня :)
Вы уверены, что данная модификация будет верной и такая система гарантий не породит проблем с покупателями, которые как минимум не будут будут считать что система гарантий непрозрачная, а вообще могут считать что их надувают :). Как Вы объясните ситуацию, когда два друга-клиента обсуждают Ваш магазин, и проявляется, что один не смог сдать товар по гарантии через 28 дней (1-ого марта, по чисто человеческой логике меньше месяца), а второй хвастается, что ему поменяли товар через месяц и 3 дня?

изменение:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function add_months($ts, $months){
  list($y, $m, $d, $h, $i, $s)=explode(':', date("Y:m:d:H:i:s", $ts));
  $date = mktime($h, $i, $s, $m+$months, $d, $y);
  if ((date("m", $date)+12*(date("Y", $date))!=$y*12+$m+$months) || (date("m", mktime($h, $i, $s, $m, $d+1, $y))!=$m)){
    $date = mktime($h, $i, $s, $m+$months+1, 0, $y);
  }
  return $date;
}

echo date("Y-m-d", add_months(strtotime("2013-02-27"), 1));



Да, я тоже так думаю, в первом месяц, а во втором плюс три дня.

А можно сделать так, если купил 31 в любом месяце года, тогда всегда + 1 день, то есть переводим на день вперед.
А если купил в январе 29,30 то к февралю + 3 дня, = 1 и 2 марта соответственно.

"какой интервал между 28 февраля и 28 марта?" - я думаю что пусть так и будет, ни кто же не виноват что в феврале 28 дней.

Помогите пожалуйста как это сделать :)
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355830
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Маша и,

ой, и там не дописано если 31 января то +3 к февралю = 3 марта.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355904
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маша иМаша и,

ой, и там не дописано если 31 января то +3 к февралю = 3 марта.

простите, не понял что надо сделать... с самого начала можно? ) а то я где-то мысль потерял..
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355905
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, ладно... всёровно спать уже пора... Если я Вас правильно понял, то Вам в такой формулировке подойдёт обычная
Код: php
1.
$new_date = strtotime("+1 month", $date);


где $date и $new_date - это timestamp'ы.
...
Рейтинг: 0 / 0
[PHP+MSQL] Прибавление месяца к текущей дате
    #38355911
Маша и
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПрограмёрМаша иМаша и,

ой, и там не дописано если 31 января то +3 к февралю = 3 марта.

простите, не понял что надо сделать... с самого начала можно? ) а то я где-то мысль потерял..

Если купил 31 числа в любом месяце года, тогда всегда + 1 день, то есть прибавляем день.
Все кто купил 31 гарантия до 1 следующего месяца, а если 30 числа то до 30 следующего месяца.
А если купил в январе 29, 30, 31 то к февралю + 3 дня, = 1, 2, 3 марта соответственно.

Суть такая что когда чел. покупает, он запоминает условную дату.
Например, чел. купил хостинг 9 числа, и он знает что, до 9 числа каждого месяца ему нужно заплатить.

Всё это для того, что если покупка происходит в
"неудобные даты - январе 29, 30, 31" то мы их немного подвигаем, приводим к "удобным".


"какой интервал между 28 февраля и 28 марта?" - я думаю что пусть так и будет, ни кто же не виноват что в феврале 28 дней.
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP+MSQL] Прибавление месяца к текущей дате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]