Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Не пойму где ошибка

 

 

{assign var="date1" value= $smarty.now+1*24*60*60}
{assign var="date2" value= $smarty.now+30*24*60*60}
{assign var="dateDiff" value=$date2 - $date1}

{$dateDiff|date_format:'%d'}
 

 

 

 

 

выводит 30  хотя должно 29 почему?

Изменено пользователем shooroop
Ссылка на сообщение
Поделиться на другие сайты

выводит 30  хотя должно 29 почему?

 

Потому что вы используете формат даты, где 86400 секунд разницы это не 1 день, а 02 день месяца

Ссылка на сообщение
Поделиться на другие сайты

Потому что вы используете формат даты, где 86400 секунд разницы это не 1 день, а 02 день месяца

 

 

Честно не понимаю 86400 - это сутки как и 24*60*60.

 

Можешь указать на ошибку?

Ссылка на сообщение
Поделиться на другие сайты

Честно не понимаю 86400 - это сутки как и 24*60*60.

 

Можешь указать на ошибку?

 

В вашем примере получилось 2505600 секунд, что равняется 29 дням, но вы конвертируете его в день даты, которая является 30 января 1970 года, отсюда и число 30.

 

Как вариант решения, результат нужно поделить на 24*60*60

{assign date1 $smarty.now +  1*24*60*60}
{assign date2 $smarty.now + 30*24*60*60}
{assign var = "dateDiff" value = ($date2-$date1)/24/60/60}
Изменено пользователем chocolate_moles
Ссылка на сообщение
Поделиться на другие сайты

 

 

В вашем примере получилось 2505600 секунд, что равняется 29 дням, но вы конвертируете его в день даты, которая является 30 января 1970 года, отсюда и число 30.

 

Как вариант решения, результат нужно поделить на 24*60*60

{assign date1 $smarty.now +  1*24*60*60}
{assign date2 $smarty.now + 30*24*60*60}
{assign var = "dateDiff" value = ($date2-$date1)/24/60/60}

 

а не вычесть  - 86400 ?  тогда будет 29

Ссылка на сообщение
Поделиться на другие сайты

а не вычесть  - 86400 ?  тогда будет 29

 

В текущем примере можно и вычесть, а если вторая дата будет +34, то при вычитании у вас получится 2, а не ожидаемые 33.

 

Вам для чего все эти вычисления то?

Ссылка на сообщение
Поделиться на другие сайты

В текущем примере можно и вычесть, а если вторая дата будет +34, то при вычитании у вас получится 2, а не ожидаемые 33.

 

Вам для чего все эти вычисления то?

 

 

Вывод отображения числа сколько времени осталось отображать товар на сайте. Максимальное количество дней жизни товара 30. 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...