启动django服务器(自带的),发现nohup中以及日志中的时间跟系统时间不一致,+13小时左右。
[wyjf@localhost ebank]$ python manage.py runserver 0.0.0.0:8000
Validating models...
0 errors found
Django version 1.2.1, using settings 'ebank.settings'
Development server is running at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[05/Jul/2010 03:23:12] "GET /index HTTP/1.1" 200 2019
[05/Jul/2010 03:23:12] "GET /site_media/js/js_ajax.js HTTP/1.1" 200 1205
[05/Jul/2010 03:23:12] "GET /site_media/images/bg.jpg HTTP/1.1" 200 142631
[05/Jul/2010 03:23:17] "GET /sort HTTP/1.1" 200 37591
操作记录的时间与本地服务器的不一致。
启动本地python环境后,获取时间的函数语句取的时间是正确的,从而判定问题出在django的webserver上
修改settings中一项时区的设置
# system time zone.
#TIME_ZONE = 'America/Chicago'
TIME_ZONE = 'GMT-8'
重启webserver,日志时间正确。
之前开发是在windows平台上进行的,而且时区一直是
TIME_ZONE = 'America/Chicago'
但是生成的日志时间跟系统时间一致,这是为什么呢?进一步探究发现
1. django这个时区设置在windows平台上不起作用!webserver会自动的读取系统时区。
2. linux环境下,最好将时区设置成 'GMT-8',以免不能识别其他时区字符串。