java 时间 xx分钟前_java后台中关于时间的转化——将秒转化成xx小时xx分钟xx秒

前面有写过篇文章,js中关于时间的转化——将秒/毫秒转化成xx小时xx分钟xx秒

后来将前台的处理改成了后台处理

用法如下:

/*

* 初始化

*/

int totalTime = 259263; //访问时长秒数

String totalTimeStr = "";

totalTimeStr = totalTime/3600 + "时" + (totalTime%3600)/60 + "分" + (totalTime%3600)%60 + "秒";

顺便贴出当时的后台方法

@Override

public Map findInterfacePressureTestData(InterfaceInvokeLogVo interfaceInvokeLogVo) {

/*

* 初始化

*/

int visitNum = 0; //访问量

int totalTime = 0; //访问时长秒数

int max = 0; //压力测试的最大响应时间

//查询条件不足返回提示信息

if (null == interfaceInvokeLogVo

|| (interfaceInvokeLogVo.getBeginInvokeStartTime() == null

|| interfaceInvokeLogVo.getEndInvokeStartTime() == null

|| interfaceInvokeLogVo.getTargetSys().equals("")

|| interfaceInvokeLogVo.getTargetSysInterface().equals(""))

) {

return ResultUtil.put(ConstantUtil.REQUEST_FAIL, ConstantUtil.QUERY_TERM_LACK, "");

}else{

//查询接口统计数据

StatisticInterfacePressureTest statisticInterfacePressureTest = interfaceInvokeLogMapper.selectInterfacePressureTestData(interfaceInvokeLogVo);

if (null != interfaceInvokeLogVo.getBeginInvokeStartTime() && null != interfaceInvokeLogVo.getEndInvokeStartTime()) {

//时间减之后的结果是毫秒数

totalTime = (int)((interfaceInvokeLogVo.getEndInvokeStartTime().getTime() - interfaceInvokeLogVo.getBeginInvokeStartTime().getTime())/1000);

visitNum=Integer.parseInt(statisticInterfacePressureTest.getVisitNum());

//查询的时间范围可能选的是同一个时间点

if(totalTime != 0){

statisticInterfacePressureTest.setAvgVisitAvgNum(""+visitNum/totalTime);

}

else{

return ResultUtil.put(ConstantUtil.REQUEST_FAIL, ConstantUtil.QUERY_TERM_LACK, "");

}

//根据压力测试的统计数据才能查询接口响应区间表

if (null != statisticInterfacePressureTest && null != statisticInterfacePressureTest.getMaxRespondTime()

&& !("".equals(statisticInterfacePressureTest.getMaxRespondTime()))) {

/*

* 查询接口响应时间区间list

*/

List list = new ArrayList<>();

StatisticRespondTime item = null;

max = Integer.parseInt(statisticInterfacePressureTest.getMaxRespondTime());

int times = max/1000; //区间表展示的区间次数

int maxValue = 0; //每个区间的最大值

int minValue = 0; //每个区间的最小值

interfaceInvokeLogVo.setVisitNum(statisticInterfacePressureTest.getVisitNum()); //访问量:sql中计算某区间的访问量占比时会用到

for(int i = 0; i <= times; i++)

{

maxValue = (i+1)*1000;

minValue = i*1000;

interfaceInvokeLogVo.setMaxValue(maxValue);

interfaceInvokeLogVo.setMinValue(minValue);

item= interfaceInvokeLogMapper.selectStatisticRespondTimeData(interfaceInvokeLogVo);

if(null != item){

if(i == times){

item.setRespondTime(" >"+minValue+" ");

list.add(item);

}else{

item.setRespondTime(minValue + " ~ "+maxValue + "ms");

list.add(item);

}

}

}

statisticInterfacePressureTest.setRespondTimesData(list);

/*

*为返回值封装起始时间

*/

statisticInterfacePressureTest.setBeginInvokeStartTime(interfaceInvokeLogVo.getBeginInvokeStartTime());

statisticInterfacePressureTest.setEndInvokeStartTime(interfaceInvokeLogVo.getEndInvokeStartTime());

statisticInterfacePressureTest.setTotalTime(totalTime/3600 + "时" + (totalTime%3600)/60 + "分" + (totalTime%3600)%60 + "秒");

statisticInterfacePressureTest.setInterfaceName(interfaceInvokeLogVo.getTargetSys() + "-" + interfaceInvokeLogVo.getTargetSysInterface());

}

//无访问量说明无数据

if(statisticInterfacePressureTest.getVisitNum().equals("0")){

return ResultUtil.put(ConstantUtil.REQUEST_SUCCESS, ConstantUtil.QUERY_NO_DATA, null);

}

}

return ResultUtil.put(ConstantUtil.REQUEST_SUCCESS, "", statisticInterfacePressureTest);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值