数据同步时间处理,数据采集的时间,数据采集时间归属为有特征时间节点

以下代码以五分钟做测试
@Test
public void testAction(){
//当前时间比如为 2018-12-24 15:49:20
String datestr =getFiveSyncData("2018-12-24 15:49:20(时间类型哦,这里写字符串)",5)
system.out.println(datastr);
//打印输出 2018-12-24 15:45:00
String datestr1 =getFiveSyncData("2018-12-24 15:40:20(时间类型哦,这里写字符串)",5)
system.out.println(datastr1);
//打印输出 2018-12-24 15:45:00
}



/**
* 数据同步每五分钟进行数据归属统计
* @param time
* @return
*/
public static String getFiveSyncData(Date time,int belongTime){
Date castedTime =getTenMinutePoint(time,belongTime);
if(castedTime.getTime()>new Date().getTime()){
castedTime = new Date(castedTime.getTime()-1000*60*belongTime);
   }

String s =DD2S(castedTime);

return s;
}



/**
* 获得当前时间10分钟的整数时间点
* @return
*/
private static Date getTenMinutePoint(Date date,int belongTime){
int comareMinu=0;
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(date);

int minute = rightNow.get(Calendar.MINUTE);
comareMinu=minute;
int sec = rightNow.get(Calendar.SECOND);
minute = Math.round(minute/belongTime*belongTime);//计算五分钟的整数分钟
if(comareMinu>minute || sec>0){
minute+=belongTime;
}


rightNow.set(Calendar.MINUTE, minute);
rightNow.set(Calendar.SECOND, 0);
//String time =rightNow.getTime()+"";
Date time =rightNow.getTime();
return time;
}

转载于:https://www.cnblogs.com/jumn/p/10169032.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值