Методы времени Java

Получить указанное время

/**
* 获取指定时间
*
* @param year 年
* @param month 月
* @param date  日
* @param hour 时
* @param minute 分
* @param second 秒
* @param millisecond 毫秒
* @return
*/
public static String getTimeFormat(int year, int month, int date, int hour, int minute, int second, int millisecond) {
    
    
	Calendar time = Calendar.getInstance();
	time.set(Calendar.YEAR, year);
	time.set(Calendar.MONTH, month);
	time.set(Calendar.DATE, date);
	time.set(Calendar.HOUR_OF_DAY, hour);
	time.set(Calendar.MINUTE, minute);
	time.set(Calendar.SECOND, second);
	time.set(Calendar.MILLISECOND, millisecond);
	SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_FORMAT);
	return sdf.format(time.getTime());
}

// 获取今天1点整:
// eq:2022-11-18 11:34:08 ==> 2022-11-18 01:00:00
getTimeFormat(time.get(Calendar.YEAR), time.get(Calendar.MONTH), time.get(Calendar.DATE), 1, 0, 0, 0);

// 获取昨天当前时间的整点:
// eq:2022-11-18 14:14:33 ==> 2022-11-17 14:00:00
getTimeFormat(time.get(Calendar.YEAR), time.get(Calendar.MONTH), time.get(Calendar.DATE), time.get(Calendar.HOUR_OF_DAY) - 24, 0, 0, 0)

// 获取当前小时整点:
// eq:2022-11-18 11:34:08 ==> 2022-11-18 11:00:00
getTimeFormat(time.get(Calendar.YEAR), time.get(Calendar.MONTH), time.get(Calendar.DATE), time.get(Calendar.HOUR_OF_DAY), 0, 0, 0);

// 获取下一个小时整点时间:
// eq:2022-11-18 11:34:08 ==> 2022-11-18 12:00:00
// eq:2022-11-18 11:00:00 ==> 2022-11-18 12:00:00
getTimeFormat(time.get(Calendar.YEAR), time.get(Calendar.MONTH), time.get(Calendar.DATE), time.get(Calendar.HOUR_OF_DAY) + 1, 0, 0, 0);

// 获取下一个小时整点时间(如果入参就是整点则返回入参):
// eq:2022-11-18 11:34:08 ==> 2022-11-18 12:00:00
// eq:2022-11-18 11:00:00 ==> 2022-11-18 11:00:00
Calendar time = Calendar.getInstance();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime startTime = LocalDateTime.parse("2022-11-18 11:37:38", formatter);
Date date = Date.from(startTime.atZone(ZoneId.systemDefault()).toInstant());
time.setTime(date);
String minute = DateUtils.formatDate(date, "mm");
String second = DateUtils.formatDate(date, "ss");
if (Integer.valueOf(minute) != 0 || Integer.valueOf(second) != 0) {
    
    
	String timeFormat = DateUtils.getTimeFormat(time.get(Calendar.YEAR), time.get(Calendar.MONTH), time.get(Calendar.DATE), time.get(Calendar.HOUR_OF_DAY) + 1, 0, 0, 0);
	System.out.println(timeFormat);
}

Supongo que te gusta

Origin blog.csdn.net/qq_44726330/article/details/127927373
Recomendado
Clasificación