关于日期的比较

end_date = [2050.11.11]
typestr(end_date)
typestr(end_date[0])
2000.12.31 < end_date
2000.12.31 < end_date[0]
datetime(2000.12.31 00:00:00) < end_date
datetime(2000.12.31 00:00:00) < end_date[0]

代码如上,需要帮忙解释一下结果

可以理解的是DATE和向量比较返回的是个bool[1](存了true或者false的只有一个元素的向量)


正确的做法是把日期从向量用索引里取出来再比较大小
但是如果直接把DATE或者DATETIME和fast date vector比较,结果是怎么判断的?


datetime(2000.12.31 00:00:00) < end_date 返回的是false?为什么?
请先 登录 后评论

最佳答案 2024-03-06 16:16

因为 2050.11.11 溢出了,DolphinDB 会先把 2050.11.11 转成 datetime,然后计算,datetime(2050.11.11) = datetime(1914.10.05 17:31:44),DATETIME 的数据范围是 [1901.12.13T20:45:53, 2038.01.19T03:14:07], 参考 https://docs.dolphindb.cn/zh/progr/data_types.html

至于为何向量和标量计算不一致,我们需要排查一下再回复您


请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,186 浏览
  • arroe 提出于 2024-03-06 15:01

相似问题