我有一个问题,Django在AWS EC2 Ubuntu 12.04服务器上使用这个,下面的视图返回UTC时间戳:
import time
from django.utils.datetime_safe import datetime
def currentTime(request):
return HttpResponse(json.dumps({"time": int(time.mktime(datetime.now().timetuple())) }), mimetype="application/json")
1370604628。Ubuntu设置为EDT时区,Django的settings.py设置为"America/New_York"。更奇怪的是,Javascript在使用new Date();
时返回UTC时区我的USE_TZ设置为False,但我尝试将其设置为True,但没有成功。
服务器是nginx,它正在代理uWSGI。有人知道如何解决这个问题吗?或者另一种方式来同步客户端JS和django之间的时间?
我不熟悉Django的细节,但我可以告诉你,一般来说,整数时间戳,比如1370604628
在UTC中总是。
你从Python得到的值是从UTC时间1970年1月1日开始秒数。在JavaScript中,该数字将以毫秒表示,因此必须乘以1000。但是零线在同一点——1970年1月1日UTC。
无论你的时区设置是什么都没关系。这些值都是UTC格式。如果希望合并时区信息,则必须使用字符串表示而不是整数。