1

我正在尝试创建一个条目应用程序。其中一个页面从用户那里输入我的时区的当前日期和时间(我设置了 TIME_ZONE = 'Asia/Kolkata')并将其保存在数据库中。本页查看功能:

def new_entry(request):
    date = timezone.now()
    date = date.replace(second=0, microsecond=0)
    just_date = date.strftime('%d %B %Y')
    just_time = date.strftime('%H:%M')
    if request.method == 'POST':
        content = request.POST.get('content')
        ent = Entry(user=request.user, date=date, content=content)
        ent.save()
        return redirect('user')
    return render(request, 'mainapp/new_entry.html', {'date':just_date,'time':just_time})

然后在另一个页面中,我从数据库中获取并显示所有这些日期。该页面的查看功能:

def user(request):
    if request.method == 'POST':
    user_entries = Entry.objects.filter(user=request.user)
    return render(request, 'mainapp/user.html', {'user_entries':user_entries})

在此页面的模板中,我访问了 date 属性。问题是当我在第一页的模板中查看日期时,它以 UTC 显示,而第二页上的日期以我想要的方式显示(即亚洲/加尔各答时区)。即使我已经明确设置了时区,为什么会出现这种时区差异?

4

1 回答 1

0

设置时区后,还需要设置

USE_TZ = True

请参阅:https ://docs.djangoproject.com/en/3.1/topics/i18n/timezones/

于 2020-08-12T21:06:04.497 回答