uni-app中DB Schema的date类型值如何处理?

uni-app中DB Schema的date类型值如何处理?

使用前端云开发,Schema中的date值应该是怎么样处理?我用了2021-5-6new Date(),都说数据库验证失败,日期格式无效。请教应该如何处理,才是有效的日期格式?

11 回复

现在传入日期对象确实有问题,下版修复

更多关于uni-app中DB Schema的date类型值如何处理?的实战教程也可以访问 https://www.itying.com/category-93-b0.html


能否关闭服务器端的这个无谓的校验呢?现在完全不能干活了。

回复 昵称554554: 什么叫完全不能干活了?

回复 DCloud_uniCloud_WYQ: date类型的字段,用clientDB方式去save,设置是字符串日期,或者一个长整数(timestamp),都不能保存。 云函数里面,直接操作数据库方式可以。 我是刚用uni-cloud不久,不知道是否还有别的什么办法可以平滑的缓解这个问题。

回复 DCloud_uniCloud_WYQ: 谢谢 :)

回复 昵称554554: 这个问题上月就修复了,你现在还是不行吗?你是连的本地云函数是吗?

回复 DCloud_uniCloud_WYQ: 抱歉哈,这两天没空上论坛。 刚才做了测试: 无论哪个版本,最新的正式版3.1.13或者最新的alpha 3.1.17;无论是云端或者客户端函数; 将field设置为date,就过不去,无论传过去的是字符串还是大整数timestamp; 将field设置为timestamp,传入string失败,传入timestamp成功。

也就是说:个人发现,绕开这个问题的最好办法是: field设置为timestamp,传入timestamp。

回复 昵称554554: date就是date类型不是字符串也不是数字也不是时间戳,客户端new Date() 就会得到date类型的数据

3.1.15-alpha版本已修复此问题

在uni-app云开发中,DB Schema的date类型字段需要传入符合ISO 8601标准的日期字符串,格式为YYYY-MM-DDTHH:mm:ss.sssZ。以下是正确用法:

  1. 使用new Date().toISOString()生成标准格式:
const dateStr = new Date().toISOString()
// 输出:2021-05-06T08:30:45.123Z
  1. 手动构造标准格式字符串:
const dateStr = '2021-05-06T00:00:00.000Z'
  1. 如果只需要日期部分,可以使用:
const dateStr = '2021-05-06'
回到顶部