您的位置:首页 > 其它

获取与指定时间间隔一定周期的时间

2017-04-21 10:27 351 查看
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

public class DateUtil {
public static void main(String[] args) throws ParseException {
//测试隔天:获取2017年4月21日0点01分前五分钟的时间
String result = getTime("201704210001","yyyyMMddHHmm",Calendar.MINUTE,-5);
System.out.println(result);
//测试隔年
String result2 = getTime("201701010001","yyyyMMddHHmm",Calendar.MINUTE,-5);
System.out.println(result2);
}
/**
*
* @param dateTime:指定时间,格式要与第二个参数指定的格式相同
* @param dateFormat:格式化类型,如"yyyyMMddHHmm"
* @param timeType:	时间类型,定义在抽象类Calendar中,比如类中定义了final static YEAR = 1,
* 					调用时直接传入Calendar.YEAR,不需要关系具体数字
* @param interval:与指定时间的间隔,比如前五分钟,传入-5
* @return:指定时间加上指定间隔时间的结果
* @throws ParseException
*/
public static String getTime(String dateTime,String dateFormat,int timeType,int interval) throws ParseException{
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat, Locale.getDefault());
Date parseDate = simpleDateFormat.parse(dateTime);

// 设置Calendar
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(parseDate);

int oldTime = calendar.get(timeType);
calendar.set(timeType, oldTime + interval);
// 转换格式
String format = simpleDateFormat.format(calendar.getTime());
return format;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐