|
Posted by Messju Mohr on 01/01/05 20:51
On Sat, Jan 01, 2005 at 01:29:12AM -0500, Travis Low wrote:
> Happy new year, everyone.
>
> I have a customer in Australia who uses a server in California. I'd like
> to give them a configurable offset value (plus or minus hours) that could
> be used to change the time they're seeing. I know I could muck with the
> time from within the application itself, but ultimately, I think it would
> be better if the end-user could set the value, so that (for example) users
> in different timezones can adjust the times to suit their locale. Here is
> a hack of modifier.date_format.php that seems to work:
>
> function smarty_modifier_date_format($string, $format="%b %e, %Y",
> $offset=0, $default_date=null)
> {
> echo "<h1>$offset</h1>";
> if($string != '') {
> return strftime($format, smarty_make_timestamp($string) +
> ($offset*3600));
> } elseif (isset($default_date) && $default_date != '') {
> return strftime($format, smarty_make_timestamp($default_date) +
> ($offset*3600));
> } else {
> return;
> }
> }
>
> Unfortunately, I couldn't get it to work without swapping $offset and
> $default_date, and I fear that may break existing code.
you can pass null as {$var|date_format:"... %Y":null:$offset} and keep
the old argument order.
> Does anyone have any ideas, and could something like the above be
> included in the next Smarty release?
i prefer setlocale(LC_TIME, '...') over arithmetics with the timestamp
to localize date_format for a specific timezone.
greetings
messju
> cheers,
>
> Travis
>
> --
> Travis Low
> <mailto:travis@dawnstar.com>
> <http://www.dawnstar.com>
>
> --
> Smarty General Mailing List (http://smarty.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
Navigation:
[Reply to this message]
|