java获取当前时间最接近的刻度时间(00,15,30,45)

来源:互联网 发布:网络主播排行榜2017 编辑:程序博客网 时间:2024/06/06 01:52
package com.nikey.util;


import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;


public class TimeUtil {
public String GetNearest15MinutesDateByCurrentDate(){
// 日期字符串格式 :"2013-05-01 00:01:08"
Calendar calendar = Calendar.getInstance();//获取当前时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
int minute = calendar.get(Calendar.MINUTE);// 得到分钟
int count = 0;
if (minute != 0 && minute != 15 && minute != 30 && minute != 45) { //时间不为00,15,30,45的情况
for (int i = minute; i >= 0; i--) { //判断距离最近的00,15,30,45的分钟数
if (i % 15 == 0) {
break;
} else {
count++;
}
}
}
calendar.add(Calendar.MINUTE, -count); //获取最近的分钟
int year = calendar.get(Calendar.YEAR); //得到年
int month = calendar.get(Calendar.MONTH) + 1; //得到月
int day = calendar.get(Calendar.DAY_OF_MONTH);// 得到天
int hour = calendar.get(Calendar.HOUR_OF_DAY);// 得到小时
int min = calendar.get(Calendar.MINUTE);// 得到分钟
StringBuffer datebuffer = new StringBuffer();
datebuffer.append(year);
datebuffer.append("-");
if(month <10){
datebuffer.append("0"+month+"-");
}else{
datebuffer.append(month+"-");
}
if(day<10){
datebuffer.append("0"+day+" ");
}else{
datebuffer.append(day+" ");
}
if(hour <10){
datebuffer.append("0"+hour+":");
}else{
datebuffer.append(hour+":");
}
if(min<10){
datebuffer.append("0"+min+":");
}else{
datebuffer.append(min+":");
}
datebuffer.append("00");
System.out.println(datebuffer.toString());
return datebuffer.toString();
}




public static void main(String[] args){
TimeUtil timeUtil = new TimeUtil();
timeUtil.GetNearest15MinutesDateByCurrentDate();
}
}