阿里云设备数据转存至RDS时,时间怎么转换成年月日时分秒这种?我数据库这边time的数据格式设置的是double,我在网上看到别人上传时间的例子,time的数据格式是timestamp,我将time设置为timestamp时,数据库中的时间就会全变成1970-01-01.


先把数据拷出来,再修改类型....timpstamp专门做时间的...

怎么拷出来?就是我后面会有一个web程序会用到这个数据库里面的这个time,算是把数据拷出来吗,是在使用这个time的时候强制转换成timestamp吗?

你不是要把 double类型 换成 timestamp 吗....
所以你把原始数据存一下 ... 然后再去改...
timestamp 从1970-01-01开始,你后面改数据....把timestamp 类型的数据存进来,数据就会改变了..
timestamp 实际上 存的是, 某一天 减去 1970-01-01 00:00:00 的毫秒数...

可以说一下怎么存原始数据,怎么改吗?我不是很懂,谢谢谢谢

其实数据库中的数据不用转。到web程序中再用new Date()转成年月日时分秒来显示。

你的数据库是什么软件... MySQL 还是PostgreSQL

就是RDS for mysql

SELECT id,DATE_FORMAT(time,'%Y-%m-%d %H:%i:%s') As time from table 用时间戳 可以这么做查询...
如果你数据重要.....最好是 使用MySQL备份语句把 数据存一下....
不重要的话 随便改吧....
初学的时候 多玩玩就行了...

这样转换好像不行哎...报错了Unsupported conversion from TIMESTAMP to java.lang.Double

你数据库转换了之后,Java也肯定不能用Double接收了,要用 java.sql.Date


这边用Date吗?那数据库不用改吧,还是double就行吧

.... 你要用 timestamp... 就拿timestamp的接收方式,要用 double 就拿 double 的接收方式...
初学者多试试 没坏处啊

我转换好了,用的是SELECT FROM_UNIXTIME(1588668003,'%Y-%m-%d %H:%i:%s');谢谢你之前的解答。

double呢 就得全自己写...timestamp呢 数据库就已经封装好方法了...

主要是我把time的数据类型设置为timestamp时,设备那边的时间直接传不过去.....不知道为啥

新建一个日期类型的字段,如字段名是“date”

在两个字段间转换

SELECT * FROM `date` where FROM_UNIXTIME(time,'%Y-%m-%d %H:%i:%s')


https://blog.csdn.net/andyliulin/article/details/82055644 插入
 查询么 用Jdbc  resultSet.getDate.... 就没了呀...