select sum(ag.diamondsnumber) diamondsnumber,ag.userid from artificer_gift ag where ag.artificerid=1 and ag.gifttime between '2019-08-01 00:00:00' and '2019-11-29 24:59:59' GROUP BY ag.userid ORDER BY diamondsnumber DESC
日榜
改其中时间即可,这是获取日榜时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String nowtime = sdf.format(new Date());
String startTime = nowtime + " 00:00:00";
String endTime = nowtime + " 23:59:59";
周榜
这是获取周榜时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK) - 1;
int offset1 = 1 - dayOfWeek;
int offset2 = 7 - dayOfWeek;
calendar1.add(Calendar.DATE, offset1 - 7);
calendar2.add(Calendar.DATE, offset2 - 7);
String lastBeginDate = sdf.format(calendar1.getTime());
String lastEndDate = sdf.format(calendar2.getTime());
String startTime = lastBeginDate + " 00:00:00";
String endTime = lastEndDate + " 23:59:59";
月榜
public static void main(String[] args) {//获取当前周
// 获取当月第一天和最后一天
Calendar cale = null;
cale = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String firstday, lastday;
// 获取本月的第一天
cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 0);
cale.set(Calendar.DAY_OF_MONTH, 1);
firstday = format.format(cale.getTime());
// 获取本月的最后一天
cale = Calendar.getInstance();
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
lastday = format.format(cale.getTime());
System.out.println("本月第一天和最后一天分别是 : " + firstday + " and " + lastday);
//获取本月的总天数【会自动计算出来的,不用担心误差】
//只需要两行代码即可:
java.util.Calendar cal = java.util.Calendar.getInstance();
int maxDay = cal.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);
System.out.println(maxDay); //输出的即时本月的天数
}