Java 日历 Calendar 的使用
参考
(72条消息) Calendar.getInstance()用法_马啃菠萝-林的博客-CSDN博客
(72条消息) JAVA 获取某段时间内的所有日期集合_耗子他大哥的博客-CSDN博客
(93条消息) java计算两个日期之间相差的天数的四种方法_java计算两个日期之间的天数_是小李呀~的博客-CSDN博客
(72条消息) Java获取今天是星期几_java获取星期几-CSDN博客
public void getWeekDay(){
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar calendar=Calendar.getInstance();
System.out.println("今天是中国的"+weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]);
}
weekDays[calendar.get(Calendar.DAY_OF_WEEK)-1]
一、为什么要在weekDays数组中减一?
因为calendar.get(Calendar.DAY_OF_WEEK)获取到的为今天是这一周的第几天,而代码是外国人编写的,在国外一周的开始不是星期一
而是星期天,所以如果今天是中国的星期一,但是calendar.get(Calendar.DAY_OF_WEEK)获取的却是2
获取某个时间的前后一星期的时间数组和星期几 例如今天2023-04-27 获取 2023-04-20 和 2023-05-04 Map map = new HashMap<>(); List<String> dateList = new ArrayList<>(); List<String> dateWeekList = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; //选择的时间 String selectTime = scheduleMaster.getSelectTime(); Date parse = null; try { parse = simpleDateFormat.parse(selectTime); } catch (ParseException e) { e.printStackTrace(); return ResultData.fail("时间转换错误"); } //日历 Calendar instance = Calendar.getInstance(); //设置时间 instance.setTime(parse); //选择的时间的后7天 instance.add(Calendar.DATE, 7); Date endSelectTime = instance.getTime(); scheduleMaster.setEndSelectTime(simpleDateFormat.format(endSelectTime)); //选择的时间的前7天 instance.add(Calendar.DATE, -14); Date startSelectTime = instance.getTime(); scheduleMaster.setStartSelectTime(simpleDateFormat.format(startSelectTime)); //开始获取时间数组和星期数组 while (instance.getTime().compareTo(endSelectTime) <= 0) { //添加一天 instance.add(Calendar.DATE, 1); //添加一天转成字符串 dateList.add(simpleDateFormat.format(instance.getTime())); //获取日历返回的数值,转成星期 dateWeekList.add(weekDays[instance.get(Calendar.DAY_OF_WEEK) - 1]); } //查询数据 List<Map<String, String>> dateDataList = scheduleMasterMapper.getPlannedShipmentDetailsBySelectTime(scheduleMaster); //查询数据 List<Map<String, String>> tableDataList = scheduleMasterMapper.getScheduleMaster(scheduleMaster); //新增数据 map.put("tableDataList", tableDataList); map.put("dateDataList", dateDataList); map.put("dateList", dateList); map.put("dateWeekList", dateWeekList); //返回数据 return ResultData.succeed(map);
|