实现效果
明显这是当天的我设置的时间

实现代码
package com.seeyon.apps.mic.utils;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
/**
* @Author: 謦潇
* @DateTime: 2022/12/29 15:03
* @ClassName: TimeUtils
* @Blog: https://blog.youkuaiyun.com/m0_49191104
*/
public class DataTimeUtils {
/**
* 获取当天的 定义的小时和分钟时间
* @param hour 24小时 超出范围为 8
* @param minute 60 超出为0
* @return dete
*/
public static Date getTodaySetTime(int hour, int minute){
if(hour>24 || hour<0){
//设置为8:点 需要配合set方法
hour=8;
}
if(minute>60 || minute<0){
minute=0;
}
Locale locale = Locale.getDefault();
Calendar instance = Calendar.getInstance(locale);
//设置上午和下午 这里很重要
instance.set(Calendar.AM_PM,Calendar.AM);
//设置为0时刻
instance.set(Calendar.HOUR,hour);
instance.set(Calendar.MINUTE,minute);
instance.set(Calendar.SECOND,0);
instance.set(Calendar.MILLISECOND,0);
return instance.getTime();
}
}
注:
1.如果不设置上午和下午,每到0点和中午12点获取当前的小时都是为0;但设置的小时在计算时是按照当前的时间计算;
过了12点后是在12点的基础上计算(12+传入值=设置的值);而没到12点则是在0点的基础上(0+传入值=设置的值)
获取当前小时的方法
Locale locale = Locale.getDefault();
Calendar instance = Calendar.getInstance(locale);
instance.get(Calendar.HOUR);
该代码示例展示了如何在Java中使用Calendar类创建一个工具方法,获取当天特定小时和分钟的时间。如果不设置上午和下午,获取的小时可能会有误。通过设置AM_PM,可以确保正确获取定义的小时。

被折叠的 条评论
为什么被折叠?



