For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > January 2005 > RE: [SMARTY] date offset









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author RE: [SMARTY] date offset
David Zülke

2005-01-01, 8:56 am

Hi Travis,

stuff like this really belongs into the business logic, not into the display
logic. The _way_ a date/time is shown is controlled by the display logic,
but not the _value_ of the date/time itself.

Cheers and a Happy New Year to you,

David


> -----Original Message-----
> From: Travis Low [mailto:travis@dawnstar.com]
> Sent: Saturday, January 01, 2005 7:29 AM
> To: smarty-general@lists.php.net
> Subject: [SMARTY] date offset
>
> 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. Does anyone have
> any
> ideas, and could something like the above be included in the next Smarty
> release?
>
> 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
>

Travis Low

2005-01-01, 3:57 pm

Hi David,

I completely disagree. This is a display function.

Think of it this way: the fact that something happened at 6:00 pm in some other
time zone is meaningless to me. It doesn't tell me when it REALLY happened, in
the time zone that I am familiar with. I need to adjust the date so it has
meaning for me. The REAL time is unaffected -- it is simply being interpreted.

Similarly, I would have no problem with a temperature conversion routine in the
template. If the temperature is stored in degrees Centigrade, then converting
it to Fahrenheit does not change the meaning of the data in any way -- instead,
it makes the data accessible to me.

It's really no different from interpreting the number 2 as Dienstag in one
locale, and Tuesday in another.

Grüße,

Travis


David Zülke wrote:
> Hi Travis,
>
> stuff like this really belongs into the business logic, not into the display
> logic. The _way_ a date/time is shown is controlled by the display logic,
> but not the _value_ of the date/time itself.
>
> Cheers and a Happy New Year to you,
>
> David
>
>
>
>
>


--
Travis Low
<mailto:travis@dawnstar.com>
<http://www.dawnstar.com>
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com