如何实现本周、本月、昨日、今日查询

只要获得它们的日期字符串,然后给数据库的日期字段进行赋值或者比较就可以了。

注意:
数据库的对应日期字段类型是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());  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值