Mysql时间戳转Java时间戳

时间:2023-01-19 02:34:51

MySQL 时间戳和Java返回的时间戳是不一样的

例如: 当前时间是 2014-08-04 10:42:55.204000  

使用mysql时间戳函数UNIX_TIMESTAMP 返回的结果为: 1407120175.204000

使用Java时间戳函数返回的结果为 : 1407120379000


很明显两者返回的值是不一样的:

  mysql时间戳 计算方法是先计算2014-08-04 10:42:55 的时间戳,将该值除以10^3,然后加上后面毫秒作为返回结果

  但通常我们在程序中用Java返回的时间戳更加普遍, 那如何把mysql时间戳转换成JAVA时间戳呢 ?

 将mysql时间戳结果做如下计算:

 小数点左边数据*1000+小数点右边的值 = Java时间戳

 1407120175*1000+204000 = 1407120379000

写成SQL语句如下: 

select  MID(UNIX_TIMESTAMP(createTime),1,10)*1000+MID(UNIX_TIMESTAMP(createTime),12,6) AS t from student