Formatowanie/Konwersja daty w Smarty

Formatowanie/Konwersja daty w Smarty
L9
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:nie wasz interes
  • Postów:51
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

Kopiuj
{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.

axelbest
Jaka wersja Smarty?
L9
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:nie wasz interes
  • Postów:51
0

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

edytowany 1x, ostatnio: lelek91
axelbest
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Warszawa
  • Postów:2252
1

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/en/language.modifier.date.format.tpl

L9
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:nie wasz interes
  • Postów:51
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/en/language.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.

Kopiuj
<?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
axelbest
Proszę bardzo :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.