保存以下型号时,保存开始日期时间比本地时间少一个小时。我已设置USE_TZ = True
和TIME_ZONE = "Europe/Madrid"
。我想减少一小时是因为它被称为UTC(比欧洲/马德里少一个小时)。 MySQL也存储错误的日期时间。但是,我需要在我的网站上显示正确的日期时间。日期时间在管理员中是正确的,但在应用程序的其余部分中则不正确。
我已经通过几种方式尝试实现日期时间,但我无法得到它。这是我的实际代码,分配给起始字段:
pytz.timezone("Europe/Madrid").localize(datetime.datetime.now()).strftime("%Y-%m-%dT%H:%M:%S")
当我执行上一条指令时,我使用print
得到了正确的日期,但保存后,它会少存储一小时。为什么呢?
这是我的模特:
class Event(models.Model):
title = models.CharField(max_length=40)
start = models.DateTimeField(null=True,blank=True)
end = models.DateTimeField(null=True,blank=True)
allday = models.BooleanField(default=False)
user = models.ForeignKey(User)
编辑-1:
AJAX电话:
$.ajax({
type: "GET",
url: "/projects/{{project.id}}/get_events/",
dataType: "json",
success: function(response){
data = eval("(" + response + ")")
var events = [];
for(i=0;i<data.length;i++){
events.push({
id: data[i].pk,
title: data[i].fields['title'],
start: data[i].fields['start'],
end: data[i].fields['end'],
className: "event",
defaultTimedEventDuration: "00:30:00"
});
}
}
});
答案 0 :(得分:0)
看起来问题出在日历插件(FullCalendar)上,而不是整个应用程序。我已经意识到FullCalendar有一个时区选项,设置为false。将其设置为&#34; local&#34;,日期时间在网站中正确显示。
无论如何,谢谢大家的帮助!