MySQL 字符串转时间戳

        在php等后台语言中想要将字符串转换成时间戳是非常方便的,但是在mysql中并没有直接提供相应的函数进行直接转换,或者说对于特殊的字符串转换效果并不理想。但是MySQL中存在丰富的时间处理函数,可以组合进行处理,以达到效果。

        采用下面的方法可以将字符串转换成 Unix时间戳 

SELECT unix_timestamp(str_to_date('2018年7月1日 9:00-10:30', '%Y年%m月%d日'));

 解释:

1.将字符串使用str_to_date 转化成mysql时间,再由unix_timestamp 将mysql时间转换成 unix时间戳。

   str_to_date 函数后面的第二个参数是想要格式化的字符串的格式,例如此处的参数是 “ '%Y年%m月%d日'”。那么在进行时间转化时,MySQL只取前面的字符串的 汉字 “年月日 ”部分,而后面的时间区间值不去理会。

2. unix_timestamp

    将mysql的时间格式化成时间戳,如果传递给该函数的是有规则的字符串也可以直接格式化,不需要str_to_date的转换。 

扩展:

SELECT str_to_date('2018年7月1日 9:08-10:30', '%Y年%m月%d日 %H:%i')

得到的结果是  2018-07-01 09:08:00

可以看到str_to_date() 函数会根据第二个参数进行正则匹配第一个参数的字符串,并将结果替换成比较常见并且规则的 “-”、“:” 间隔。这时拿着这个字符串使用unix_timestamp() 函数进行格式化,就会得到和php等后端语言相通的unix时间戳。

   

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值