遇到了这样的需求根据当前时间统计出本周的/本月的数据并进行百分比计算,这种需求一般都是有大数据来做的,但是对于我们新开发的APP暂时只能有后端来完成了
按照每周的统计出来,纵轴是百分比,横轴是周一到周日
sql部分:
1>:根据当前日期或指定日期,根据天分组获取数量
SELECT
DATE_FORMAT( create_date, '%Y-%m-%d' ) days,
COUNT( id ) COUNT
FROM
test
WHERE
YEARWEEK(create_date) = YEARWEEK(NOW())
GROUP BY
days;
结果如下:
2>:查出数据后根据days转换成周几
public static void main(String[] args) throws ParseException {
// 定义日期字符串
String strDate = "2019-01-21";
// 定义日期格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(strDate);
System.out.println( getWeekOfDate(date));
}
public static String getWeekOfDate(Date dt) {
String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println(w);
return weekDays[w];
}