BTW, That is with a timezone of "America/New_York"

On Feb 21, 1:05 pm, Sean Brant <brant.s...@gmail.com> wrote:
> Would something like this work?
>
> def U(self):
>     "Seconds since the Unix epoch (January 1 1970 00:00:00 GMT)"
>     import calendar
>     timestamp = calendar.timegm(self.data.timetuple())
>     return timestamp + time.timezone
>
> Test:
> r""">>> print dateformat.format(my_birthday, 'U')
>
> 404370000
> """
>
> from django.utils import dateformat, translation
> import datetime
>
> my_birthday = datetime.datetime(1982, 10, 25)
>
> On Feb 20, 7:17 pm, Malcolm Tredinnick <malc...@pointy-stick.com>
> wrote:
>
> > On Fri, 2009-02-20 at 19:45 -0500, Karen Tracey wrote:
>
> > [...]
>
> > > Near as I can tell, also, the "U" date-formatting implementation
> > > doesn't work.  It is:
>
> > >     def U(self):
> > >         "Seconds since the Unix epoch (January 1 1970 00:00:00 GMT)"
> > >         off = self.timezone.utcoffset(self.data)
> > >         return int(time.mktime(self.data.timetuple())) + off.seconds *
> > > 60
>
> > Wow, that code's really old (like 2005 old). Possibly marked as
> > unimplemented because Adrian knew it was broken and wanted to fix it, or
> > something.
>
> > [...]
>
> > > So this is what off winds up being:
>
> > > >>> off = df.timezone.utcoffset(x)
> > > >>> off
> > > datetime.timedelta(-1, 68400)
> > > >>> off.days
> > > -1
> > > >>> off.seconds
> > > 68400
>
> > > This is negative one day, plus 68,4000 seconds, equivalent to -18,000
> > > seconds, but the subsequent code:
>
> > > return int(time.mktime(self.data.timetuple())) + off.seconds * 60
>
> > > doesn't consider the negative days value and just uses the 68,4000
> > > seconds value, so that's a problem.
>
> > That's a lovely trap in the timedelta API that regularly catches people
> > out (including me, regularly enough, when I forget it happens). When we
> > were implementing timezone support for syndicated feeds at the
> > Washington DC sprint last year, I seem to recall it took a large portion
> > of the time spent on that issue just to get things working for timezones
> > west of UTC due to that "feature".
>
> > If somebody wants to fix this robustly, I'd strongly suggest swiping the
> > offset computation code from django.utils.feedgenerator. Both the
> > rfc822_date() and rfc3339_date() functions do the computation correctly.
>
> > Regards,
> > Malcolm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to