我正在尝试使用时区识别日期自动填充django datetimefield。使用Django的timezone.now()输出Aug. 21, 2019, 5:57 a.m.。我如何将其转换为2019-08-21 14:30:59?
timezone.now()
Aug. 21, 2019, 5:57 a.m.
2019-08-21 14:30:59
z0qdvdin1#
如果你想在后端进行转换,你可以使用Django的内置实用程序dateformat。
dateformat
from django.utils import timezone, dateformat formatted_date = dateformat.format(timezone.now(), 'Y-m-d H:i:s')
字符串要获取由当前时区设置TIME_ZONE定义的本地时间,可以使用localtime。
TIME_ZONE
localtime
from django.utils import timezone, dateformat formatted_date = dateformat.format( timezone.localtime(timezone.now()), 'Y-m-d H:i:s', )
型
ekqde3dh2#
不清楚你在问什么。你的例子显示了不同的格式和不同的时间值。虽然时间值的差异看起来不像本地时间和UTC时间之间的差异,但我认为问题的一部分是时区之间的转换。
from django.utils import timezone d = timezone.now() print(d) print(d.strftime("%Y-%m-%d %H:%M:%S")) print(timezone.localtime(d).strftime("%Y-%m-%d %H:%M:%S"))
字符串输出是
2021-01-13 07:25:17.808062+00:00 2021-01-13 07:25:17 2021-01-13 18:25:17
ct3nt3jp3#
你可以使用下面的代码:
from datetime import datetime date_string = datetime.strftime(timezone.now(), '%Y-%m-%d %H:%M:%s')
字符串链接-参考
3条答案
按热度按时间z0qdvdin1#
如果你想在后端进行转换,你可以使用Django的内置实用程序
dateformat
。字符串
要获取由当前时区设置
TIME_ZONE
定义的本地时间,可以使用localtime
。型
ekqde3dh2#
不清楚你在问什么。你的例子显示了不同的格式和不同的时间值。虽然时间值的差异看起来不像本地时间和UTC时间之间的差异,但我认为问题的一部分是时区之间的转换。
字符串
输出是
型
ct3nt3jp3#
你可以使用下面的代码:
字符串
链接-参考