<p>使用<a href="http://pytz.sourceforge.net/" rel="nofollow noreferrer">pytz</a>,作为<code>astimezone</code>方法</p>
<pre><code>from pytz import timezone
time_zone = timezone(settings.TIME_ZONE)
currentTime = currentTime.astimezone(time_zone)
</code></pre>
<blockquote>
<p>In your Middleware:</p>
</blockquote>
^{pr2}$
<blockquote>
<p>In Your view.py</p>
</blockquote>
<pre><code>from django.shortcuts import redirect, render
def set_timezone(request):
if request.method == 'POST':
request.session['django_timezone'] = request.POST['timezone']
return redirect('/')
else:
return render(request, 'template.html', {'timezones': pytz.common_timezones})
</code></pre>
<blockquote>
<p>In your templete.html</p>
</blockquote>
<pre><code>{% load tz %}
{% get_current_timezone as TIME_ZONE %}
<form action="{% url 'set_timezone' %}" method="POST">
{% csrf_token %}
<label for="timezone">Time zone:</label>
<select name="timezone">
{% for tz in timezones %}
<option value="{{ tz }}"{% if tz == TIME_ZONE %} selected="selected"{% endif %}>{{ tz }}</option>
{% endfor %}
</select>
<input type="submit" value="Set" />
</form>
</code></pre>