日期转时间戳

博客围绕Java中时间戳转换问题展开。使用Java将当前时间存入bean,经FastJSON转成JSON存于Redis时,yyyy - mm - dd hh:mm:ss格式时间会自动转为13位时间戳,而iOS端只能解析10位。文中解释了13位和10位时间戳的由来,并给出两种将13位转10位的方法。

FROM_UNIXTIME()时间戳和日期之间转换:

select FROM_UNIXTIME(1156219870);

UNIX_TIMESTAMP()

Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′);

 

最近遇到一个比较头疼的问题,语言是java,将当前时间(new Date())set进bean中,然后使用fastjson将bean转换成json,存放在redis中,但问题就来了,首先时间yyyy-mm-dd hh:mm:ss格式转换成json会自动转成时间戳,13位的,而ios端只能解析10wei的时间戳。 

问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的 
经过百度得知,原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。 
问题2:13位时间戳如何转换成10位时间戳 
本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。 
第一种:通过substring方法,将13位的时间戳最后三位数字截取 
第二种:将13位时间戳除以1000取整。

转载于:https://www.cnblogs.com/blogNYGJ/p/11174444.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值