Умная переменная даты. Добавить дни, изменить формат

У меня вопрос по формату даты в smarty.

У меня есть умная переменная: [{ $order->oxorder__oxorderdate->value }]

Эта переменная дает мне: 2013-03-10 10:45:17

Теперь я хочу добавить 14 дней, удалить время и изменить формат даты:

Итак, теперь я хочу получить это: 24.03.2013

Возможно ли это и как это сделать прямо в файле smarty/.tpl?

Спасибо за помощь и привет!


person Kuba    schedule 21.03.2013    source источник


Ответы (2)


Протестировано в Smarty 3

{"$order->oxorder__oxorderdate->value +14 Days"|date_format:'d.m.Y'}

person sofl    schedule 21.03.2013
comment
Какую ошибку вы получаете? В Smarty 2.6.x я думаю, что вы вынуждены использовать формат strftime. Вы можете попробовать изменить date_format:'d.m.Y' на date_format:'%d.%m.%Y'. Подробнее см. php.net/manual/de/function.strftime.php. информация - person sofl; 21.03.2013
comment
Я не получаю никакой ошибки, но этот вывод: 2013-03-21 11:29:31 dmY Я также нашел несколько секунд назад этот другой формат на умной странице и попробовал;) - person Kuba; 21.03.2013
comment
Хорошо, это прекрасно работает :) Теперь я пытаюсь добавить 14 дней к дате. - person Kuba; 21.03.2013
comment
Это [{ $order-›oxorder__oxorderdate-›value +14 Days|date_format:%d.%m.%Y }} создает мне белую страницу. - person Kuba; 21.03.2013
comment
Я уверен, что это синтаксис, но я нуб в умных! - person Kuba; 21.03.2013
comment
[{ $order-›oxorder__oxorderdate-›value +14 days|date_format:%d.%m.%Y }] это дает белую страницу. [{ $order-›oxorder__oxorderdate-›value +14 days|date_format:%d.%m.%Y }] и это дает мне необработанное значение (2013-03-10 10:45:17) - person Kuba; 21.03.2013
comment
просто расстраивает как нуб! - person Kuba; 21.03.2013
comment
Хорошо, попробуй: [{ $order->oxorder__oxorderdate->value|cat:' +14 days'|date_format:"%d.%m.%Y" }] - person sofl; 21.03.2013
comment
Это работает идеально :). Ты мой герой большой палец вверх и большое спасибо! - person Kuba; 21.03.2013

Я думаю, что нашел пищевой способ сделать это:

{assign var="date" value= $order->oxorder__oxorderdate->value|@strtotime + (60*60*24*7)}
{assign var="date2" value=$date|date_format:"%d/%m/%Y"}
{$date2}

Измените значение 7 на нужный день ;-)

person Vincent Guesné    schedule 29.09.2017