使用java将mysql中获得的时间戳转标准时间格式

首先先明白一点:mysql中存入的时间戳是10位的int

在存入的时候我们做过如下操作:

​​​Date date = new Date();  //获得当前时间

long lTime = date.getTime(); //取出date类型中的日期时间,这里精确到毫秒的

String sDateTime=lTime+""; 将long转string

​sDateTime=sDateTime.substring(0,10);  //只取前10位

int iCurrentTime=Integer.parseInt(sDateTime);  //string转int

同理当我们将​时间戳从mysql中取出来的时候要*1000或者加三个0把10位的int补成13位的long,否则格式化时间时是会出错的,原因可以参见时间的计算原理(时间戳表示的是从1970-01-01开始经过的毫秒数,你存入数据库时除了1000,取出来要把1000补上去,不然你的时间间隔会少1000,计算得到的时间是1970+(正确时间-1970)/1000).

所以我们要这么做:

​String sTime=item.getUpdateTime()+"000";  //把0换回去

long lTime = Long.parseLong(sTime);  //int放不下的,用long

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String sLastTime=sdf.format(lTime);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值