Formatowanie/Konwersja daty w Smarty

Odpowiedz Nowy wątek
2018-11-27 13:36
0

Witam. Nie znam się kompletnie na Smarty, a potrzebuje przerobić datę. Mam stringa w formacie Y-m-d w Smarty, ewentualnie udało mi się rozbić go na elementy tablicy funkcją explode

{assign var="dt" value='-'|explode:$dt}

, jednak potrzebuje mieć tą wartość jako datę. Wie ktoś jak zrobić coś takiego w Smarty? Muszę tą datę porównać później z aktualną datą i w zależności od różnicy podjąć określoną decyzję. Innymi słowy, potrzebuje mieć format tej dany ze stringa w formie dzięki której będę mógł ją porównać ze zmienną $smarty.now.

Pozdrawiam.

Jaka wersja Smarty? - axelbest 2018-11-27 14:45

Pozostało 580 znaków

2018-11-27 14:52
0

Wersja Smarty to: 2.6.18, a przynajmniej taką wartość zwraca mi funkcja {$smarty.version}.

edytowany 1x, ostatnio: lelek91, 2018-11-27 14:53

Pozostało 580 znaków

2018-11-27 19:01

Z tego co pamiętam, domyślnie w smarty 2.x nie ma modyfikatora zmieniającego datę na int'a, a tak byłoby tutaj najwygodniej to sprawdzać. Tak więc pozostaje Ci napisać prosty modyfikator
https://www.smarty.net/docsv2/en/plugins.modifiers.tpl
potem tylko nie zapomnij go "zarejestrować" za pomocą register_modifier()

Ew. pokombinuj z tym modyfikatorem https://www.smarty.net/docsv2[...]uage.modifier.date.format.tpl

Pozostało 580 znaków

2018-11-28 12:50
0
axelbest napisał(a):

Z tego co pamiętam, domyślnie w smarty 2.x nie ma modyfikatora zmieniającego datę na int'a, a tak byłoby tutaj najwygodniej to sprawdzać. Tak więc pozostaje Ci napisać prosty modyfikator
https://www.smarty.net/docsv2/en/plugins.modifiers.tpl
potem tylko nie zapomnij go "zarejestrować" za pomocą register_modifier()

Ew. pokombinuj z tym modyfikatorem https://www.smarty.net/docsv2[...]uage.modifier.date.format.tpl

Witam, dziękuję za informację. Stworzyłem swój modyfikator i umieściłem go w katalogu plugins, znajdują się tam inne modyfikatory od Smarty.

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */

/**
 * Smarty string_to_date modifier plugin
 *
 * Type:     modifier<br>
 * Name:     string_to_date<br>
 * Purpose:  zamienia ciąg znaków na datę
 * 
 */
function smarty_modifier_string_to_date($time)
{
    return strtotime($time);
}

?>

Plik z modyfikatorem nazwałem modifier.string_to_date.php. Wszystko już działa. Dziękuję za pomoc.

edytowany 1x, ostatnio: lelek91, 2018-11-28 13:20
Proszę bardzo :) - axelbest 2018-11-28 13:50

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0