mysql 时间搓 时间转换问题

这是一只小小鸟 发布于 08/20 15:52
阅读 243
收藏 0

java 获取时间搓 获取的都是毫秒级别的 时间搓

mysql  使用 FROM_UNIXTIME(create_time, '%Y-%m-%d')  转换时间 需要 create_time的单位是 秒

想请问一下 这个问题 有什么好的处理办法 ?

加载中
0
前端大师傅
前端大师傅

这个很简单写个自定义函数就可以了。

分成两步:

1.定义自定义函数,把下面这一段复制到mysql管理工具里然后执行。

CREATE DEFINER=`root`@`%` FUNCTION `get_time_by_javatimestamp`(javatimestamp bigint) RETURNS datetime
begin

    return FROM_UNIXTIME(cast(javatimestamp/POW(10,3) as DECIMAL(18))
);
end

2.调用这个函数。传入java时间戳就可以返回mysql的datetime类型。

select get_time_by_javatimestamp(1566353943000)

这里的1566353943000 是由java标准时间转成的java时间戳,调用这个函数就可以把时间戳转成sql时间

前端大师傅
前端大师傅
回复 @这是一只小小鸟 : 不好意思发错了函数。这个才是的。
0
f
fofso

13位的时间戳直接除以1000

0
f
freezingsky

datetime 添加精度即可.

这是一只小小鸟
这是一只小小鸟
长度不能限制吧。。。 限制了插入不进来咋整
0
施千禧
施千禧

    /**
     * 
     * @param JsonFormat mybatis转换mysql时间格式
     * @param DateTimeFormat 接收date参数
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

0
lis1314
lis1314

你是蓝方人么?

返回顶部
顶部