Django将服务器日期转换为本地日期

时间:2017-02-07 06:14:28

标签: python django

假设我的服务器日期格式为DD-MM-YYYY (从时区得到)如何将其更改为用户的相应日期?

它应显示与用户时区相对应的日期

2 个答案:

答案 0 :(得分:2)

当我遇到同样的问题时,我尝试了各种不同的解决方案。

最简单的方法是在模板中添加{{ created|date:"d-M-Y G:i" }}。尽管底座的格式如此,您仍可以根据需要对其进行格式化。那就是它只是一个显示问题。

您可以尝试在settings.py

中设置默认格式
DATE_FORMAT = 'd-m-Y'
TIME_FORMAT = 'H:i'
DATETIME_FORMAT = 'd-m-Y H:i'
YEAR_MONTH_FORMAT = 'F Y'

MONTH_DAY_FORMAT = 'F j'
SHORT_DATE_FORMAT = 'd/m/Y'
SHORT_DATETIME_FORMAT = 'd/m/Y P'
FIRST_DAY_OF_WEEK = 1

# BUT here use the Python strftime format syntax,
# LIST: http://docs.python.org/library/datetime.html#strftime-strptime-behavior

DATE_INPUT_FORMATS = (
    '%d-%m-%Y',     # '21-03-2014'
)
TIME_INPUT_FORMATS = (
    '%H:%M:%S',     # '17:59:59'
    '%H:%M',        # '17:59'
)
DATETIME_INPUT_FORMATS = (
    '%d-%m-%Y %H:%M:%S',# '21-03-2014 17:59'
    '%d-%m-%Y',
)

..并使用其中一些表格。

答案 1 :(得分:1)

这可能会对您有所帮助: -

settings.py:-

    settings.TIME_ZONE = 'Your Timezone'

views.py :-


    from django.utils.timezone import localtime

    result = localtime(some_time_object)

localtime会在您settings.py中设置的time_zone中转换日期对象,默认情况下会使用' America / Chicago'