如何格式化Django的timezone.now()

zzlelutf  于 11个月前  发布在  Go
关注(0)|答案(3)|浏览(120)

我正在尝试使用时区识别日期自动填充django datetimefield。使用Django的timezone.now()输出Aug. 21, 2019, 5:57 a.m.。我如何将其转换为2019-08-21 14:30:59

z0qdvdin

z0qdvdin1#

如果你想在后端进行转换,你可以使用Django的内置实用程序dateformat

from django.utils import timezone, dateformat

formatted_date = dateformat.format(timezone.now(), 'Y-m-d H:i:s')

字符串
要获取由当前时区设置TIME_ZONE定义的本地时间,可以使用localtime

from django.utils import timezone, dateformat

formatted_date = dateformat.format(
    timezone.localtime(timezone.now()),
    'Y-m-d H:i:s',
)

ekqde3dh

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

ct3nt3jp

ct3nt3jp3#

你可以使用下面的代码:

from datetime import datetime

date_string = datetime.strftime(timezone.now(), '%Y-%m-%d %H:%M:%s')

字符串
链接-参考

相关问题