gpt4 book ai didi

django - 在 Django ModelForm 中,如何接受具有毫秒的日期时间字符串?

转载 作者:行者123 更新时间:2023-12-02 04:30:50 24 4
gpt4 key购买 nike

在 Django ModelForm 的 DateTimeField 中,我想要一个 input_format 接受以毫秒为单位的日期时间。例如'2018-02-26T14:46:15.704Z'。但是 strftime 只有微秒的 %f。如何添加 input_format 来处理这种格式?

目前我的领域:

class MyModelForm(forms.ModelForm):

my_time = forms.DateTimeField(input_formats=['%Y-%m-%dT%H:%M:%S.%fZ',])

这将匹配:

'2018-02-26T14:46:15.000704Z'

但不是:

'2018-02-26T14:46:15.704Z'

最佳答案

带有 strptime 的 %f 的默认行为将对微秒字段使用右填充。因此,当您使用具有该格式的字符串 '2018-02-26T14:46:15.704Z' 时,您会得到 .704Z 将转换为 的预期结果704000 微秒,即预期的 704 毫秒。

>>> fmt = '%Y-%m-%dT%H:%M:%S.%fZ'
>>> datetimte.datetime.strptime('2018-02-26T14:46:15.704Z', fmt)
datetime.datetime(2018, 2, 26, 14, 46, 15, 704000)

因此,简而言之,您已经拥有了所需的行为。

关于django - 在 Django ModelForm 中,如何接受具有毫秒的日期时间字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48991630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com