扫码关注官方订阅号
场景:得到一个时间戳A:1473406568对应的日期是B:2016/9/9 15:36:8现在需要的是时间戳C:2016/9/9 15:00:00 对应的毫秒。
现在有大量的毫秒A数据,需要直接转为C中值,请问应该怎么处理?
ringa_lee
那玩意叫时间戳
Date date = new Date(1473406568); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); System.out.println(formatter.format(date));
若只取毫秒,可以使用 Calendar
Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(1473406568); calendar.get(Calendar.MILLISECOND)
long currentTimeMillis = System.currentTimeMillis(); Log.d("test", currentTimeMillis + ""); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH"); String format = dateFormat.format(currentTimeMillis); try { Date date = dateFormat.parse(format); long time = date.getTime(); Log.d("test", time + ""); } catch (ParseException e) { e.printStackTrace(); } Log打印结果: test: 1473410102814 test: 1473408000000
本小时的毫秒 = 时间戳 % 3600000小时时间戳 = 时间戳 - 本小时的毫秒注意时区问题
long ms = 1473406568 * 1000L; Calendar c = Calendar.getInstance(); c.setTimeInMillis(ms); c.clear(Calendar.MINUTE); c.clear(Calendar.SECOND); System.out.println(c.getTimeInMillis() / 1000); // unix timestamp SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(c.getTime()));
Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(1473406568); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); System.out.println(calendar.getTimeInMillis());
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
那玩意叫时间戳
若只取毫秒,可以使用 Calendar
本小时的毫秒 = 时间戳 % 3600000
小时时间戳 = 时间戳 - 本小时的毫秒
注意时区问题