0
点赞
收藏
分享

微信扫一扫

Java unix时间戳 移除秒毫秒部分


方法一:

public static Long getCurrentTime() {
//毫秒时间转成分钟
double doubleTime = (Math.floor(System.currentTimeMillis() / 60000L));
//往下取整 1.9=> 1.0
long floorValue = new Double(doubleTime).longValue();
return floorValue * 60;
}

方法二:

public static Long process(long timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp);
calendar.set(Calendar.SECOND, 0);
return calendar.getTimeInMillis() / 1000;
}

效率对比测试:

int num = 10000000;
for (int j = 0; j < 10; j++) {
long start = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
getCurrentTime();
}
long end = System.currentTimeMillis();
System.out.println("getCurrentTime第" + j + "次:" + (end - start));

start = System.currentTimeMillis();
for (int i = 0; i < num; i++) {
process(start);
}
end = System.currentTimeMillis();
System.out.println("process第" + j + "次:"

对比结果:

getCurrentTime第0次:238
process第0次:4431
getCurrentTime第1次:238
process第1次:3400
getCurrentTime第2次:214
process第2次:3307
getCurrentTime第3次:214
process第3次:3310
getCurrentTime第4次:217
process第4次:3278
getCurrentTime第5次:216
process第5次:3286
getCurrentTime第6次:215
process第6次:3332
getCurrentTime第7次:214
process第7次:3307
getCurrentTime第8次:214
process第8次:3398
getCurrentTime第9次:222
process第9次:3389

作者:jiankunking


举报

相关推荐

0 条评论