Автор Тема: как добавить к дате месяц и 1 день?  (Прочитано 7568 раз)

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

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« : 23 Декабря 2002, 18:14:42 »
Задача такова:
есть база данных там два столбца с данными типа дата.
допустим data1 и data2

при обновлении через пхп скрипт надо к data1 прибавить месяц и один день и записать в data2
(в аспе знал такую функцию dataadd но php ничего подобного не нашел)
Как это сделать?

Спасибо

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #1 : 23 Декабря 2002, 18:35:32 »
РНР тут не нужен.
update table set date1=date_add(date1, interval 1 day)

в php сложением дат занимается функция mktime
пример см в описании функции date

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
как добавить к дате месяц и 1 день?
« Ответ #2 : 23 Декабря 2002, 18:43:42 »
RomikChef
а не вот так? :
update table set date2=date_add(date1, interval 1 day)
update table set date2=date_add(date1, interval 1 month)
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)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #3 : 23 Декабря 2002, 20:05:39 »
да нет, одним запросом все равно
update table set date2=date_add(date_add(date1, interval 1 day), interval 1 month)
а может, как-то еще можно
там столько функций для работы с датой...

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #4 : 24 Декабря 2002, 00:50:34 »
ух ты, здорово! Спасибо.
сделал вот так : date_add((date_add(CURDATE(), interval 1 month) ), interval 1 day) )

Может подскажите как таким же простым способом в php вывести дату которая получиться после прибавлении к текущему времени 10 часов

Пробовал mktime но у меня ничего не вышло даже когда я хотел прибавить 1 день  

$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #5 : 24 Декабря 2002, 14:07:29 »
а ты посмотри в примерах к функции date и mktime, ЧТО возвращает mktime и КАК это использовать.

Может быть, ты все-таки, сам научишься читать документацию, или тебя так и тыкать носом в каждую строчку?

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #6 : 24 Декабря 2002, 14:16:30 »
да там все как то не логично с датой. все до меня не доходит никак. я раньше на аспе програмировал. и теперь каждый раз когда берусь за пхр то удивляюсь - нахрена столько кода надо написать что бы что-то получить или к примеру узнать какое будет число если к текущей дате прибавить 10 часов. там (в аспе)это делалось одной простой функцией.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #7 : 24 Декабря 2002, 14:44:45 »
На PHP это тоже делается ОДНОЙ простой функцией.
Для того, чтобы вывести эту дату в НУЖНОМ ФОРМАТЕ, используется еще одна простая функция.

Все очень просто и логично. одна функция прибавляет, друкая - форматирует.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #8 : 24 Декабря 2002, 15:09:34 »
Спасибо, но не могу сказать что ваш ответ помог.
Но возник еще один вопрос: зачем вы тратили время на ответ мне, если ничего не сказали? Не отвечали бы и все. Я бы и этим умлся.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #9 : 24 Декабря 2002, 15:29:05 »
a@mail.dux.ru
Слушай, ну почитай ты документацию. Для того, чтобы корректно работать с датой, используй дату в формате UNIX TIMESTAMP. Что это такое и как этим пользоваться - см. функцию time().
Расшифровывая ответ RomikChef: получаешь дату в формате эпохи Юникс, прибавляешь к ней 10*60*60 и выводишь при помощи mktime()
TANSTAAFL

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #10 : 24 Декабря 2002, 16:53:13 »
Спасибо всем за помощь.

Задача решается так
(для тех, кто ищет решение такой же проблемы:
прибавить к терущей дате 10 часов и узнать какой будет день)
Решение:
1 сначало узнаем сколько сейчас часов
$h=Date(H);
2 затем получим необходимую нам дату
$d=Date(d,mktime ($h+10,0,0,date("m")  ,date("d"),date("Y")) );

Боюсь, что с помощью одного только мануала до такого не додуматься.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #11 : 24 Декабря 2002, 17:02:11 »
Цитировать
Боюсь, что с помощью одного только мануала до такого не додуматься.

Угу. Если извращаться. А если проще, то:

$d
=mktime(\'H:i:s j:n:y\',time()+10*60*60);

Имеем точную дату в формате ЧЧ:ММ:СС ДД:ММ:ГГ через десять часов после текущего времени.
Большая часть времени ушла на то, чтобы выцепить из мануала буковки для mktime();

[OFF]И пусть тебе будет стыдно :D [/OFF]
TANSTAAFL

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #12 : 24 Декабря 2002, 18:59:31 »
a@mail.dux.ru, дурилка картонная, я отвечал ровно на то, что ты спрашивал.
Не нравятся ответы? Научись задавать вопросы.
Мое последнее сообщение - ответ не на вопрос про дату, а на нытье про АСП.
А ответ был выше. Но ты, судя по всему, прекрасно умеешь стонать и жаловаться, а вот ЧИТАТЬ у тебя получается с большим трудом.
Если бы умел читать, то все бы сделал еще после моего первого ответа, и сделал бы вот так:
$d=date("d", mktime(date("H")+10));
Думать тут не надо. Надо просто прочесть в документации описание функций, и правильно воспользоваться ими.
И строки надо брать в кавычки.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #13 : 24 Декабря 2002, 23:49:04 »
я вот читал в правилах, что за оскорбления могут и отключть. Но на фанатов форума наверное это правило не действует?

Про асп и пхп: Пхп имеет много хороших свойств и функций.
Но при изучении он здорово уступает аспу.
На аспе все логично и понятно. А пхп видать был написан не для написания веб сайтов  а для чего то другого. или написан твердолобым. А потом всячески был дороботан. Но это не значит что я от него откажусь :)
А документация по пхп - дерьмо. надо писать так что бы и баранам было понятно. а если баран не понял - плохая документация. Вот так! (это мнение моих профессоров в институте где я учился)

И вообще, RomikChef  я почитал вашу переписку с другими участниками форума. Оскорбления вместо ответов на вопросы - обячное явление. ЗАЧЕМ ТРАТИТЕ ВРЕМЯ?
Хотя мне вы помогли. За это спасибо. ;)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
как добавить к дате месяц и 1 день?
« Ответ #14 : 25 Декабря 2002, 00:25:46 »
Исключительно из наивной веры в человечество.
В то, что даже самый темный и ленивый человек, не могущий и шагу ступить без помощи окружающих, может научиться делать что-то самостоятельно.
Что человека можно научить задавать вопросы.
Хотя именно на тебе я потерял время. Ты всеми силами отпихиваешься, когда тебе дают СПОСОБ решения ВСЕХ задач и хочешь только конкретного ответа на сиюминутную.

Про PHP ты ошибаешься, по темноте своей, но спорить с тобой об этом бессмысленно.

Документация как справочник - вполне выполняет свои функции. Обучающие на нее и не возлагались. По поводу баранов - это желательно. Но ТРЕБОВАТЬ что-то ты можешь либо от корпорации майкрософт, которая с тебя денег слупила, или от своих детей. А если тебе не нравится документация на PHP... Тебе подсказать, куда ты можешь пойти со своими претензиями?

 

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