Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> арифметические действия с датой, как вычислять стандартными функциями? 
V
    Опции темы
Простодушный user
  Дата 14.8.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мужчина-ураган
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 12.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Вопрос: есть ли стандартные функции php для арифметических действий над датами?
Поясняю:
Я вызываю функцию date('Y-m-d') и мне нужно вычесть из этой даты четыре дня. Можно ли сделать это стандартными функциями php?
PM MAIL   Вверх
Vaulter
Дата 14.8.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Код

$l4days = date("Y-m-d", 
           strtotime("01.08.2007") /* возвр. кол-во секунд с 01.01.1970 */ - 4 * 24 * 3600 /* 4 суток */);



--------------------
PM MAIL WWW ICQ   Вверх
SamDark
Дата 14.8.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



Простодушный user
Даты в PHP в формате timestamp, т.е. просто количество секунд с 1 января 1970, 00:00:00 GMT.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Muchenik
Дата 14.8.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Код

<?php
$date = new DateTime("2006-12-12");
$date->modify("-4 day");
echo $date->format("Y-m-d");
?> 


http://ua2.php.net/manual/ru/function.date-modify.php

Это сообщение отредактировал(а) Muchenik - 14.8.2007, 15:04
PM MAIL ICQ   Вверх
Простодушный user
Дата 14.8.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мужчина-ураган
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 12.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



2Muchenik не работает! выдаёт строку

Fatal error: Cannot instantiate non-existent class: datetime in z:\home\psrspb.ru\www\site\test.php on line 8

воть   smile 
PM MAIL   Вверх
Muchenik
Дата 14.8.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



Цитата(Простодушный user @ 14.8.2007,  15:13)
2Muchenik не работает! выдаёт строку

Fatal error: Cannot instantiate non-existent class: datetime in z:\home\psrspb.ru\www\site\test.php on line 8

воть   smile

Это для 5 пхп
PM MAIL ICQ   Вверх
Простодушный user
Дата 14.8.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мужчина-ураган
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 12.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



увы у меня на хостинге тока четвёртый!
PM MAIL   Вверх
Muchenik
Дата 14.8.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 27.10.2005

Репутация: 5
Всего: 5



ПРобуй так

Код

echo strtotime("+1 day")


Добавлено @ 15:20
Код

echo date('Y-m-d',strtotime("2006-12-12 -4 day"));


так точно работает

http://ua2.php.net/manual/ru/function.strtotime.php

Это сообщение отредактировал(а) Muchenik - 14.8.2007, 15:21
PM MAIL ICQ   Вверх
Простодушный user
Дата 14.8.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мужчина-ураган
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 12.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Да так работает! 
Всем огромное спасибо за помощь!
Извините, что отнял время.

PM MAIL   Вверх
Diesel Draft
Дата 14.8.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: 1
Всего: 5



Ухты, а я не знал что есть класс DateTime  smile 


П.С. Я знаю что достал все, но закройте тему после себя.


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
HackMan
Дата 18.8.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Можно через MySQL
Код

SELECT NOW() BETWEEN DATE_START AND DATE_END AS isBetween FROM MY_TABLE



--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0876 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.