代码之家  ›  专栏  ›  技术社区  ›  Maksym Stefaniv

时间数据与格式不匹配,即使它们完全相同

  •  0
  • Maksym Stefaniv  · 技术社区  · 2 年前

    问题 ValueError: time data '2024-05-26 18:00' does not match format 'YYYY-MM-DD HH:mm'

    我使用DRF获取api/保留/的POST。但是Django抱怨str不能传递给DateTimeField。所以我试着将str格式化为合适的日期时间。但是,即使字符串和格式完全相同,各种方法仍然抱怨我不知道的东西。

    密码

    def create(self, validated_data):
      validated_data.update({
        'reservation_time': datetime.datetime.strptime(validated_data.get('reservation_time'), 'YYYY-MM-DD HH:mm').date()
      })
      return self.Meta.model(**validated_data)
    

    我试图通过JS将日期时间格式更改为 "YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]." (点a结尾是格式的一部分,而不是打字错误)并且在Python中这样做,没有任何进展。 尝试 django.utils.dateparse.parse_date 以及 datetime.datetime.strptime . parse_date return None,意思是格式和 strptime 加薪 ValueError 在上面我错过了什么?

    1 回复  |  直到 2 年前
        1
  •  0
  •   willeM_ Van Onsem    2 年前

    该格式适用于百分比,请参阅 full format specs [python-doc] :

    def create(self, validated_data):
        validated_data.update(
            {
                'reservation_time': datetime.datetime.strptime(
                    validated_data.get('reservation_time'), '%Y-%m-%d %H:%M'
                ).date()
            }
        )
        return self.Meta.model(**validated_data)
    推荐文章