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>
|
|
|
|
|