判断是否间隔指定时间(毫秒)工具类

141 阅读1分钟

TimeSpanUtils.java

package com.k.tfl.utils;

/**
 * @Author zhou
 * @Date 2020/6/19-11:30
 * Describe: 本工具类主要处理当需要间隔一段时间进行某些操作问题,
 *
 */
public class TimeSpanUtils {
    /**
     * 最近更新时间,默认=0
     */
    private long mLastTime;
    /**
     * 外界指定的间隔时间
     */
    private long mTimeSpan;
    public TimeSpanUtils(long timeSpan) {
        mLastTime = 0;
        this.mTimeSpan = timeSpan;
    }

    /**
     * 创建对象后外接set间隔时间的方法
     * @param timeSpan
     */
    public void setTimeSpan(long timeSpan) {
        this.mTimeSpan = timeSpan;
    }

    /**
     * 由当前时间,间隔时间及上次更新时间决定是否上层进行更新
     */
    public boolean getIsUpdate(){
        long currentTime = System.currentTimeMillis();
        if(mLastTime==0 || currentTime-mLastTime>mTimeSpan){
            Log.d("---->更新",(currentTime-mLastTime)+"");
            mLastTime = currentTime;
            return true;
        }
        return false;
    }
}

使用方式

/**
     * 时间间隔处理类
     */
    private TimeSpanUtils timeSpanUtils = new TimeSpanUtils(50);
    
    if(timeSpanUtils.getIsUpdate())