|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
Hinrich Smarty Rookie
Joined: 18 Apr 2003 Posts: 33
|
Posted: Wed Jun 11, 2003 2:42 pm Post subject: utcdate_format |
|
|
Hi,
nothing serious, but sometimes you need the UTC date or time in your plugins. I just copied the modifier date_format to a new modifier called utcdate_format. The usage is identical.
Code: | <?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Include the {@link shared.make_timestamp.php} plugin
*/
require_once $this->_get_plugin_filepath('shared','make_timestamp');
/**
* Smarty utc date_format modifier plugin
*
* Type: modifier<br>
* Name: utcdate_format<br>
* Purpose: format datestamps via gmstrftime<br>
* Input:<br>
* - string: input date string
* - format: gmstrftime format for output
* - default_date: default date if $string is empty
* @link http://smarty.php.net/manual/en/language.modifier.date.format.php
* date_format (Smarty online manual)
* @param string
* @param string
* @param string
* @return string|void
* @uses smarty_make_timestamp()
*/
function smarty_modifier_utcdate_format($string, $format="%b %e, %Y", $default_date=null)
{
if($string != '') {
return gmstrftime($format, smarty_make_timestamp($string));
} elseif (isset($default_date) && $default_date != '') {
return gmstrftime($format, smarty_make_timestamp($default_date));
} else {
return;
}
}
/* vim: set expandtab: */
?> |
Would be nice, if it will be shipped to the package somewhen. |
|
Back to top |
|
joscha Smarty Rookie
Joined: 18 Apr 2003 Posts: 8 Location: Metzingen, Germany
|
Posted: Wed Jun 11, 2003 11:29 pm Post subject: |
|
|
Hi Hinrich,
nice work!
The package should be as small as possible, just add it to the Smarty-wiki so everyone can find it!
greets,
Joscha |
|
Back to top |
|
mohrt Administrator
Joined: 16 Apr 2003 Posts: 7368 Location: Lincoln Nebraska, USA
|
Posted: Thu Jun 12, 2003 2:45 am Post subject: |
|
|
Maybe we could add to the tools instead of duplicate, like this:
Code: | {$smarty.now|utc|date_format}
|
So all "utc" does is gets the date into UTC time, then on to date_format as usual.
Monte |
|
Back to top |
|
Hinrich Smarty Rookie
Joined: 18 Apr 2003 Posts: 33
|
Posted: Thu Jun 12, 2003 8:57 am Post subject: |
|
|
mohrt wrote: | Maybe we could add to the tools instead of duplicate, like this:
Code: | {$smarty.now|utc|date_format}
|
|
On the other hand gmstrftime is a native PHP function and should be faster than passing the variable through two modifieres. |
|
Back to top |
|
Budda Smarty Regular
Joined: 19 Apr 2003 Posts: 53 Location: Lymm, Cheshire. UK
|
Posted: Thu Dec 04, 2003 12:16 pm Post subject: |
|
|
This fails for dates before 1970 usually. Would be better if the whole of Smartys date handling was based around somthing like the PEAR::Date class which can cope better with pre-1970 dates. |
|
Back to top |
|
Hinrich Smarty Rookie
Joined: 18 Apr 2003 Posts: 33
|
Posted: Thu Dec 04, 2003 12:49 pm Post subject: |
|
|
Budda wrote: | This fails for dates before 1970 usually. |
It depends on your need. Imho in most cases nobody will need an UTC before 1970; most reviews aren't haveing any time information. In most cases I think, UTC is used for current or future time stamps in a for example calender. In this case, the modifier is called often and the execution time does matter.
So it allways depends on the individual usage. |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|