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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值