zdravim
vystupom {$cas|date_format:'%-H:%M'} su hodnoty napr. 16:30, 10:00 atd
potrebujem ale k $cas priratat 1 hodinu (teda vystup by bol 17:30, 11:00 atd)
ako na to?
Ako pridať 1 hodinu casu?
Re: Ako pridať 1 hodinu casu?
nezkoušel si {$cas+1|date_format:'%-H:%M'} ? bylo by to takové přímočaré řešení hodné php
nebo místo $cas
date_add($cas, date_interval_create_from_date_string('1 hour'))
nebo místo $cas
date_add($cas, date_interval_create_from_date_string('1 hour'))
Re: Ako pridať 1 hodinu casu?
Cez uzivatelsky tag: http://chod.sk/aztw3
Re: Ako pridať 1 hodinu casu?
takze sa to da len cez UDT?kuzmany wrote:Cez uzivatelsky tag: http://chod.sk/aztw3
ako ale? neviem ako to mam spravit (assignovat do smarty) kedze pri $cas je toto {$cas['@attributes']['zaciatok']}
Re: Ako pridať 1 hodinu casu?
není to třeba, ve smarty šabloně napíšeš blok
{php}
jakýkoliv php kód, který se při parsování šablony vykoná
např. $cas = date($cas, strtotime ("+1 hour"));
{/php}
a v něm si můžeš s proměnou $cas dělat co se ti zlíbí, viz funkce pro práci s čase v php http://www.php.net/manual/en/function.time.php
funkce, které by ti mohly vyhovovat jsou strtotime http://php.net/strtotime a date_add http://www.php.net/manual/en/function.date-add.php
{php}
jakýkoliv php kód, který se při parsování šablony vykoná
např. $cas = date($cas, strtotime ("+1 hour"));
{/php}
a v něm si můžeš s proměnou $cas dělat co se ti zlíbí, viz funkce pro práci s čase v php http://www.php.net/manual/en/function.time.php
funkce, které by ti mohly vyhovovat jsou strtotime http://php.net/strtotime a date_add http://www.php.net/manual/en/function.date-add.php
Re: Ako pridať 1 hodinu casu?
diky a mozes mi napisat ako by to malo vyzerat nakolko niesom v php zdatny (pokusal som sa to cez udt ale ako si mi to nefungovalo)bunak wrote:není to třeba, ve smarty šabloně napíšeš blok
{php}
jakýkoliv php kód, který se při parsování šablony vykoná
např. $cas = date($cas, strtotime ("+1 hour"));
{/php}
moja premenna je {$cas['@attributes']['zaciatok']|date_format:'%-H:%M'}
nasiel som aj nieco taketo lenze neviem ako to mam aplikovat
Code: Select all
{"+1 hour"|date_format:"%H:%M:%S"}
Re: Ako pridať 1 hodinu casu?
Vytvor UDT posun_cas. Je to pisane z hlavy:
Pouzitie:
Pricom premenna posun je v sekundach.
Kurva chalani, ale toto su uplne zaklady...
Code: Select all
$smarty = cmsms()->GetSmarty();
if(!isset($params['mojcas']))
return;
$cas = $params['mojcas'];
$format = 'Y-m-d H:i:s';
if(isset($params['format']))
$format = $params['format'];
$posun = 3600;
if(isset($params['posun']))
$posun= $params['posun'];
$novy_cas = date($format, strtotime($cas) + $posun);
if(isset($params['assign']))
$smarty->assign($params['assign'], $novy_cas);
return $novy_cas;
Code: Select all
{posun_cas mojcas=$cas format='H:M' posun=3600}
Kurva chalani, ale toto su uplne zaklady...