概述
Java获取当前系统时间的前N小时时间
先说一下代码中存在的一个问题
/**
* 当前时间向推几小时
* @param ihour 小时
* @return String
*/
public static String getBeforeByHourTime(int ihour){
String returnstr = "";
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - ihour);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
returnstr = df.format(calendar.getTime());
return returnstr;
}
但是这个代码存在问题,假如是凌晨1点向前推3小时就不对了,
所以存在着问题,采用以下的方法就能很好解决
/**
* 当前时间向推几小时
* @param ihour 小时
* @return String
*/
public static String dateRoll(int ihour) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//(1)获取当前时间
LocalDateTime date = LocalDateTime.now();
//(2)获取当前时间的前几小时时间
LocalDateTime localDateTime = date.minusHours(ihour);
return dateTimeFormatter.format(localDateTime);
}
以上的代码就能很好的解决问题,要是凌晨1点向前推3小时就是前一天的23点.
最后
以上就是迷你西装为你收集整理的获取java时间 小时_Java获取当前系统时间的前N小时时间的全部内容,希望文章能够帮你解决获取java时间 小时_Java获取当前系统时间的前N小时时间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复