【发布时间】:2021-06-08 06:07:09
【问题描述】:
当我在我的 django 项目中更改时区时,日期确实会正确更改。当时区设置为“UTC”时,日期显示如下:
这是正确的。如您所见,这些也是我的数据库中指定的日期:
但是当我将设置更改为:
LANGUAGE_CODE = 'nl'
TIME_ZONE = 'Europe/Amsterdam'
USE_I18N = True
USE_L10N = True
USE_TZ = True
我的应用程序中的日期现在更改为下图。只有前两个日期以正确的方式显示,尽管除了时区没有任何变化。
有谁知道为什么会发生这种情况,我该如何解决?
编辑:代码
def afspraak_maken(request):
form = EventForm(request.POST or None)
if request.POST and form.is_valid():
title = form.cleaned_data['title']
soort = form.cleaned_data['soort']
description = form.cleaned_data['description']
start_time = form.cleaned_data['start_time']
Event.objects.get_or_create(
user=request.user,
title=title,
soort=soort,
description=description,
start_time=start_time,
time_set = time_set
)
Timing.objects.get_or_create(
event_id=find_id,
name= 1,
start_time=localtime(start_time),
end_time=localtime(start_time) + timedelta(hours=1, minutes=30)
)
Timing.objects.get_or_create(
event_id=find_id,
name= 2,
start_time= localtime(start_time) + timedelta(days=7),
end_time= localtime(start_time) + timedelta(days=7,hours=1, minutes=30)
)
Timing.objects.get_or_create(
event_id=find_id,
name= 3,
start_time=localtime(start_time) + timedelta(days=21),
end_time=localtime(start_time) + timedelta(days=21,hours=1, minutes=30)
)
return redirect('afspraak_bewerken', pk=find_id)
return render(request, 'kalender/afspraak_maken.html', {'form': form})
我的计时模型:
class Timing(models.Model):
event = models.ForeignKey(Event, null=True, on_delete=models.CASCADE)
name = models.CharField(max_length=200)
start_time = models.DateTimeField()
end_time = models.DateTimeField()
comment = models.CharField(max_length=300,null=True, blank=True)
我显示日期的表格之一
<table class="homepage-table mt-2 mb-2" id="myTable2">
<tr>
<th> Afspraak</th>
<th> Training</th>
<th> Start tijd</th>
<th> Eind tijd</th>
<th> Locatie</th>
<th> Trainer</th>
</tr>
{% for timing in timing%}
<tr>
<td> {{timing.name}}</td>
<td> {{timing.event.title}}</td>
<td> {{timing.start_time|date:'d-m-Y H:i'}}</td>
<td> {{timing.end_time|date:'d-m-Y H:i'}}</td>
<td> {{timing.event.locatie}}</td>
<td> {{timing.event.trainer}}</td>
</tr>
{% endfor%}
</table>
【问题讨论】:
标签: python django postgresql timezone