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
如果不带毫秒,MID(UNIX_TIMESTAMP(createTime),12,6)