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

时间:2023-01-30 14:00:57
问题描述:

在一个查询的函数中,有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怎么得到呢?

5 个解决方案

#1


这个很简单,你将Date类型的日期 转成字符串date="2008-05-12"。

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

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

#2


这个可以写成一个工具方法,来重复使用。

#3



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()));

#4


将时间设成char型,要好操作一点
我用的就是char型

#5



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

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

evoloyeu的提法比较创新,但不得不说,这样的做法一般不宜,因为数据库和代码写者大多数时候
不是一个人,你不能因为自己写程序的方便而要求改数据库。数据库设计者将日期设成date类型是
没错的

#1


这个很简单,你将Date类型的日期 转成字符串date="2008-05-12"。

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

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

#2


这个可以写成一个工具方法,来重复使用。

#3



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()));

#4


将时间设成char型,要好操作一点
我用的就是char型

#5



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

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

evoloyeu的提法比较创新,但不得不说,这样的做法一般不宜,因为数据库和代码写者大多数时候
不是一个人,你不能因为自己写程序的方便而要求改数据库。数据库设计者将日期设成date类型是
没错的