So, I got some help from StackOverflow on this one.

Careful use of the dateutil library seemed to solve my problem.  It is
fairly robust and a much smaller footprint from PyTZ.

On Mar 10, 11:06 am, mawcs <mwilliam...@williamsonclan.us> wrote:
> (I am new to Python and Google App Engine, please forgive me if my
> questions seem basic).
>
> I'm having a helluva time trying to manage multiple user timezones in
> my Google App Engine application.
>
> Here are my constraints:
>
>    1. If a user enters the time on an input, it will be local time
> (including DST, when appropriate).
>    2. If a user does not enter the time, the system must enter it for
> them in their local time (including DST, when appropriate).
>    3. When the date and time are displayed to the user, it must be in
> their local time (including DST, when appropriate)
>
> I understand that time will be internally stored as UTC with a tzinfo
> object and that the App Engine will store the Models with UTC time.
>
> I previously thought I had this all worked out by asking the user to
> specify their time zone in their preferences. Then, I would simply
> load their preferences and add that tzinfo to any datetime objects in
> reference to that user.
>
> However, our recent daylight saving time broke it. It turns out that I
> had not correctly implemented the dst() in my tzinfo objects. As I
> understand it, I must determine if DST is currently on, and if so,
> return the correct offset for the tzinfo.
>
> The problem is, I have no idea how to determine if the timezone's
> daylight time is current or not. Am I missing something obvious?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to