只要获得它们的日期字符串,然后给数据库的日期字段进行赋值或者比较就可以了。
注意:
数据库的对应日期字段类型是datetime,实体类对应的日期类型是Date。
至于为什么这个datetime类型和日期字符串可以直接比较,应该是mysql做了强转,这里不再赘述。
1.昨日
String yesterdayDate=null;
Calendar calendar = Calendar.getInstance();//此时获取的是系统当前时间
calendar.add(Calendar.DATE, -1); //得到前一天
yesterdayDate= new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
2.今日
//我要获取当前的日期
Date date = new Date();
//设置要获取到什么样的时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//获取String类型的时间
String currentDate = sdf.format(date);
3.本周
//获取本周的开始时间
String startWeek = null;
Calendar calendar = Calendar.getInstance();
int week = calendar.get(Calendar.DAY_OF_WEEK)-2;
calendar.add(Calendar.DATE, -week);
startWeek= new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
//获取本周的结束时间
String endWeek = null;
Calendar c2 = Calendar.getInstance();
int day_of_week2 = c2.get(Calendar.DAY_OF_WEEK) - 1;
if (day_of_week2 == 0)
day_of_week2 = 7;
c2.add(Calendar.DATE, -day_of_week2 + 7);
endWeek= new SimpleDateFormat("yyyy-MM-dd").format(c2.getTime());
4.本月
// 获取当月第一天
Calendar cMonthStart = Calendar.getInstance();
cMonthStart.add(Calendar.MONTH, 0);
cMonthStart.set(Calendar.DAY_OF_MONTH, 1);
String firstday = new SimpleDateFormat("yyyy-MM-dd").format(cMonthStart.getTime());
// 获取当月最后一天
Calendar cMonthEnd = Calendar.getInstance();
cMonthEnd.add(Calendar.MONTH, 1);
cMonthEnd.set(Calendar.DAY_OF_MONTH, 0);
String lastday = new SimpleDateFormat("yyyy-MM-dd").format(cMonthEnd.getTime());