找回密码
 立即注册

QQ登录

只需一步,快速开始

希希xixi

注册会员

8

主题

20

帖子

88

积分

注册会员

积分
88
最新发帖
希希xixi
注册会员   /  发表于:2021-7-29 10:23  /   查看:1703  /  回复:3
您好,我在spreadjs中创建了一个table,并且绑定了数据源,其中有一列是日期格式的,比如我写的日期是:'2021-07-29',然后调用getdatasource()方法,给我返回的值却是"/OADate(44260)/"这个样子的,请问这是为什么?

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-29 10:35:36
沙发
您好,
这个属于产品设计。
OADATE是UTC时间 1970/1/1 日到该日期的毫秒数。为了解决日期的序列化以及时区问题,所以我们用了这样一个特殊的方式保存日期。
SpreadJS的处理方式是相当于把OADate当做一种“媒介”,在SpreadJS中我们会正常处理显示日期,存到数据库用的是OADate,从数据库读取出来,然后拿到SpreadJS展示也还是正常的日期。
总体来说,OADate是我们的一种存储类型,您需要转换的话建议您在后端处理,例如java,具体怎么处理建议您在搜索引擎查找相关资源。
回复 使用道具 举报
希希xixi
注册会员   /  发表于:2021-7-29 10:46:10
板凳
用sheet.setFormatter(-1, 1, 'yyyy-mm-dd')这个方法可以吗
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-29 11:12:20
地板
设置格式后,getDataSource获取到的日期仍是OADate形式。
所以只能在前端或者后端进行转化。
您可以参考下方帖子或自行搜索相关知识:
https://gcdn.grapecity.com.cn/fo ... mp;highlight=OADATE
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部