Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Secret73
12 / 12 / 7
Регистрация: 14.01.2016
Сообщений: 264
1

Отсчитать от даты 6 месяцев

11.01.2017, 13:33. Просмотров 1199. Ответов 8
Метки нет (Все метки)

Здравствуйте. В базе в ячейке dateof храниться дата создания товарной карточки в формате 2016-12-23 10:17:48
Задача, отсчитывать от даты создания товарной карточки 6 месяцев и если это так, выводить определенную надпись.
Вопрос, подскажите как правильно отсчитать 6 месяц, от даты создания?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 13:33
Ответы с готовыми решениями:

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

Как отсчитать секунды с заданной даты?
Как отсчитать секунды с заданной даты? Например с 01.01.0001 ?

С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты
С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты.

Отминусовать от даты 18 месяцев
Добро Всем! :senor: у меня возникла необходимость определить дату которая меньше текущей на 3...

Как вычесть 12 месяцев из даты в VBA?
Добрый день, уважаемые коллеги Столкнулся с такой проблемой, не могу вычесть 12 месяцев из...

8
crautcher
2037 / 2004 / 469
Регистрация: 27.05.2011
Сообщений: 6,881
11.01.2017, 14:01 2
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2017-01-11 13:01:03 |
+---------------------+
1 row in set (0.00 sec)
 
mysql> select DATE_SUB(NOW(),INTERVAL 6 MONTH);
+----------------------------------+
| DATE_SUB(NOW(),INTERVAL 6 MONTH) |
+----------------------------------+
| 2016-07-11 13:01:07              |
+----------------------------------+
1 row in set (0.00 sec)
0
Secret73
12 / 12 / 7
Регистрация: 14.01.2016
Сообщений: 264
11.01.2017, 14:03  [ТС] 3
crautcher, но мне нужно сделать, не запросом, а условием через if
0
fanatikus
1253 / 1193 / 563
Регистрация: 17.11.2012
Сообщений: 5,362
11.01.2017, 14:20 4
PHP
1
2
3
            $time = strtotime("2016-12-23 10:17:48 +6 month");
            $time_res = date("Y-m-d H:i:s", $time);
            echo $time_res;
0
11.01.2017, 14:20
Secret73
12 / 12 / 7
Регистрация: 14.01.2016
Сообщений: 264
11.01.2017, 14:39  [ТС] 5
fanatikus, нет Вы не поняли мне нужно. Если от даты которая находится в ячейке dateof по сегодняшний день, прошло 6 месяцев, то выводить надпись что то типа
PHP
1
2
3
if ($dateof>6 month) {
    echo "От даты создания прошло 6 месяцев";
}
Если прошло 5 месяцев, то ничего не выводить
0
fanatikus
1253 / 1193 / 563
Регистрация: 17.11.2012
Сообщений: 5,362
11.01.2017, 14:46 6
Цитата Сообщение от Secret73 Посмотреть сообщение
Если от даты которая находится в ячейке dateof по сегодняшний день, прошло 6 месяцев,
и в чем проблема?
в $time_res, дата которая будет после заданной через 6 месяцев.
сравниваем ее с текущей датой
0
Secret73
12 / 12 / 7
Регистрация: 14.01.2016
Сообщений: 264
11.01.2017, 15:07  [ТС] 7
Вот у меня получилось следующее, но это получается что только в один день это будет совпадать?а мне надо что бы это осталось на все время
PHP
1
2
3
4
5
6
7
8
{$times = $product.dateof}
{$time = strtotime("$times, +6 month")}
{$time_res = date("Y-m-d H:i:s", $time)}
<span style="color:red;">{$time_res}</span>
{$today = date("Y-m-d H:i:s")}
{if $time_res==$today}
<span style="color:red;">все верно</span>
{/if
0
fanatikus
1253 / 1193 / 563
Регистрация: 17.11.2012
Сообщений: 5,362
11.01.2017, 15:18 8
Лучший ответ Сообщение было отмечено Secret73 как решение

Решение

PHP
1
2
3
4
5
            $time = strtotime("2016-06-23 10:17:48 +6 month");
 
            if ($time < time()) {
                echo "От даты создания прошло 6 месяцев";
            }
1
Secret73
12 / 12 / 7
Регистрация: 14.01.2016
Сообщений: 264
12.04.2017, 09:34  [ТС] 9
Получился у меня в итоге вот такой код. Но теперь у меня появилась нужда, что бы отсчет был от 1 до 12 месяцев. Скажите как поступить в данном случае?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
{$product=$cell->getRow()}
{$product.title}
{if $product.public == 0}
    {$times = $product.dateof}
    {$time = strtotime("$times, +6 month")}
 
    {if ($time < time())}
        <span style="color:red;font-size:12px;font-weight:bold;"> Создан более 6 месяцев</span>
    {/if}
{/if}
0
12.04.2017, 09:34
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2017, 09:34

Вычитание из даты количества месяцев в запросе
Здравствуйте! У меня такая ситуация. Делаю запрос в Access Есть два поля: в одном Конечная Дата...

Расчет количества месяцев от текущей даты
Доброго времени суток! Уважаемые форумчане, подскажите плз. задача такая. нужно сделать расчет...

Перенос даты на N месяцев назад-вперед
Доброго времени суток всем. В программе надо сделать циклическое сложение/вычитание месяцев...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.