Loading......
Nov
22
作者:quke.cn   |   分类:Google

    GAE是一个对全球开放的服务,而且这个号称是云计算的东西想做成智能的时区估计是不好做的,因为你也不知道这片云彩要漂到哪儿啊!因此google就采用了格林尼冶时间,采用0时区。原因是我猜的,实际情况就是这样的。

    不知道大家都用什么工具开发调试python,我使用的是eclipse+pydev,服务器就用gae自带的服务器;奇怪的情况是如果用eclipse来启动服务器时采用的时区是我本地的时区,当用命令行执行dev_appserver.py project来启动服务时采用的就是标准时区了,此时的时区就和gae上的时区一样,这个就是我们要解决的问题,怎么采用正确的时区来显示时间。

    解决方法有很多,比如我们可以在录入输入时将取到时间改为当前时区的时间;或者在从数据库中取出数据后将时间改为当前时区的时间后在输出到界面;但是这两种作为都会让开发这觉的很不爽,有种被逼无奈的感觉,况且如果以后gae的时区实现了自动识别当前时区岂不是要改回来,所以我没采用这两种方法。

    我采用了在setting中配置自己的时区,然后用自定义过滤器根据配置的时区来显示时间,这样实现和修改比较简单,况且这样给人的感觉是我是主动为了实现程序的国际化时区自行配置而做的工作,而且下一步还可以根据用户请求中的时区来实现程序自动识别客户端的时区,这样就给了客户很好的体验。

    我的实现方式在另一片文章中做了具体的介绍:在Django中自定义Tag和Filter(二),有具体的代码和用法。

原创文章,转载时请注明地址:http://www.quke.cn
由 quke.cn 在 2008-11-22 12:53:03 做最后一次更新!
内容载入中...
  姓名(必填)
  邮箱(选填)
  主页(选填)
作者:CoderZh
发布于:2008-11-23 11:15 AM
我在setting里配置了:TIME_ZONE = 'Asia/Shanghai PRC',似乎没用?还是比实际时间慢了8小时。最后我采用了上面第二种方法解决。不知道你是怎么解决的?
我使用的是自定义过滤器,根据setting中配置的时区来显示时间。代码在http://www.quke.cn/log-206.html
   作者:quke.cn  |  时间:2008-11-23 2:05 PM
第 1/1 页 首页 1 尾页
内容载入中...