java怎么取当天日期的最前最后时刻

dyw31415926 2008-05-12 05:47:20
问题描述:

在一个查询的函数中,有2个参数是Date类型,代表查询的时间范围。开始时间和结束时间
public List query***(String keyword,Date startDate,endDate);
为了方便用户,提供了默认选项,即开始时间默认是当天开始点,结束时间是当天最后点,
比如 今天是2008-05-12,则默认开始时间是2008-05-12 00:00:00 默认结束是 2008-05-12 23:59:59
这2个Date怎么得到呢?
...全文
1335 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyw31415926 2008-05-13
  • 打赏
  • 举报
回复

恩,几位朋友的方案解决了问题了。
我采用的是anqini的方案

lovingprince的方案也不错,考虑到如果你是项目经理,你会更愿意看到anqini这样的写法

evoloyeu的提法比较创新,但不得不说,这样的做法一般不宜,因为数据库和代码写者大多数时候
不是一个人,你不能因为自己写程序的方便而要求改数据库。数据库设计者将日期设成date类型是
没错的
evoloyeu 2008-05-12
  • 打赏
  • 举报
回复
将时间设成char型,要好操作一点
我用的就是char型
anqini 2008-05-12
  • 打赏
  • 举报
回复

Calendar start = Calendar.getInstance();
start.set( Calendar.HOUR_OF_DAY,00);
start.set( Calendar.MINUTE, 0);
start.set( Calendar.SECOND,0);

Calendar end = Calendar.getInstance();
end.set(Calendar.HOUR_OF_DAY,23);
end.set( Calendar.MINUTE,59);
end.set(Calendar.SECOND,59);

SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("start:" + sm.format(start.getTime()));
System.out.println("end:" + sm.format(end.getTime()));
lovingprince 2008-05-12
  • 打赏
  • 举报
回复
这个可以写成一个工具方法,来重复使用。
lovingprince 2008-05-12
  • 打赏
  • 举报
回复
这个很简单,你将Date类型的日期 转成字符串date="2008-05-12"。

然后 begin=date+" 00:00:00" end=date+" 23:59:59"

最后,使用SimpleDateFormat来解析这个字符串,把他解析成日期Date,就可以了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧