【Java】Java根据时间计算是否为上午、中午、下午以及根据日期获得星期几

1、编写公共方法:

/**
	 * 根据小时判断是否为上午、中午、下午
	 * @param hour
	 * @return
	 * @author zhangsq
	 */
	public static String getDuringDay(int hour){
		if (hour >= 7 && hour < 11) {
			return BasicConstants.AM;
		}if (hour >= 11 && hour <= 13) {
			return BasicConstants.NOON;
		}if (hour >= 14 && hour <= 18) {
			return BasicConstants.PM;
		}
		return null;
	}

2、根据根据日期获得星期几的方法

/**
	 * 根据日期获得星期的方法
	 * @param date
	 * @return
	 * @author zhangsq
	 */
	public static String getWeekOfDate(Date date) { 
		  String[] weekDaysName = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" }; 
		  //String[] weekDaysCode = { "0", "1", "2", "3", "4", "5", "6" }; 
		  Calendar calendar = Calendar.getInstance(); 
		  calendar.setTime(date); 
		  int intWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; 
		  return weekDaysName[intWeek]; 
		} 

3、实际场景

@RequestMapping(value="/toHmplan.do")
	public @ResponseBody List<Map<String, Object>> getIndexHmplanInfo(HttpServletRequest request,
			HttpServletResponse response,ModelMap model,Integer pageMin,Integer pageMax){
		SimpleDateFormat dfTimes = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		List<HmPlan> hmPlansList = indexHmPlanService.findHmplanInfo(pageMin,pageMax);
		List<Map<String, Object>> hmPlanListMap = new ArrayList<Map<String, Object>>();
		for(HmPlan hmPlanBean : hmPlansList){
			String planTimeStr = dfTimes.format(hmPlanBean.getPlantTime());
			hmPlanBean.setDates(planTimeStr.substring(0, 10));//年月日
			hmPlanBean.setTimes(planTimeStr.substring(11));//时分秒
			if(planTimeStr.length()>10){
				//上午、中午、下午
				hmPlanBean.setDuring(WeekDayUtils.getDuringDay(Integer.parseInt(hmPlanBean.getTimes().substring(0,2))));
			}else {
				hmPlanBean.setDuring(BasicConstants.DURING);
			}
			//根据日期获取星期
			hmPlanBean.setWeekDay(WeekDayUtils.getWeekOfDate(hmPlanBean.getPlantTime()));
			Map<String, Object> hmPlanMap = new HashMap<String, Object>();
			hmPlanMap.put("hmPlanBean", hmPlanBean);
			
			hmPlanListMap.add(hmPlanMap);
		}
		return hmPlanListMap;
	}

4、效果





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张思全

实践,方能出真知!打赏博主吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值