I tried solving this problem as follows. Don't know if its the best solution, but works for me as my application is meant only for Intranet environments.
- I subclassed zope.app.container.browser.contents.Contents. - In the subclass I overrided _*extractContentInfo *method - Created a LocalTimezone class as described in Python manual by subclassing tzinfo - Converted the created and modifed datetime objects from dublin-core information to local time zone - Used this class to create the Container views The time information looks now fine for me. Is there any better way? With regards, -Shailesh On 1/15/07, Shailesh Kumar <[EMAIL PROTECTED]> wrote:
Sorry, the mail went only to Philipp by mistake. Hi Philipp, Thanx for the pointers. I went through the sections of your book regarding this. I guess I now understand my problem better. The problem is about the time-zone and not about formatting. The Creation and Modification time stamps seem to be the UTC time stamps, and I want the display to be according to local time zone. How can I do it? With regards, -Shailesh On 1/14/07, Philipp von Weitershausen <[EMAIL PROTECTED] > wrote: > > > > Shailesh Kumar wrote: > > Hi, > > > > When I look at the Creation time and Modification time in any of the > > container views, it shows me the UTC time. > > > > Looking at > > zope.app.container.browser.contents.py > > < http://zope.app.container.browser.contents.py>: Line 174 > > > > I found that: > > > > formatter = self.request.locale.dates.getFormatter( > > 'dateTime', 'short') > > > > created = self.safe_getattr(dc, 'created', None) > > if created is not None: > > info['created'] = formatter.format(created) > > > > modified = self.safe_getattr(dc, 'modified', None) > > if modified is not None: > > info['modified'] = formatter.format(modified) > > > > is being used to compute them. > > No, the local formatter is used to *format* dates according to the > current locale. 8th of March this year, for example would be "3/8/2007" > in the U.S. English locale, but "08.03.2007" in the German locale. > > > I am puzzled, how does the browser set its locale? I guess this must > be > > a very basic question. But I am not able to figure it out. > > request.locale is set according to the most preferred language/locale > returned by the IUserPreferredLanguages adapter for the request. The > default adapter reads browser's the Accept-Language header. More > advanced adapters could use cookies or something else that the user can > influence though the website directly. > > My book talks about this in detail: http://worldcookery.com > > > -- > http://worldcookery.com -- Professional Zope documentation and training > 2nd edition of Web Component Development with Zope 3 is now shipping! > >
_______________________________________________ Zope3-users mailing list [email protected] http://mail.zope.org/mailman/listinfo/zope3-users
