业务系统数据库设计经验总结(八)-关于startTime和endTime

   之前在设计一些查询语句的时候,总是会纠结,到底开始时间是设置成00:00:00还是00:00:01,不确定前者是否是合法的时间设置。于是:


public static void main(String[] args) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse("2021-09-30 00:00:00");
System.out.println("date.getTime() = " + date.getTime());
}
//date.getTime() = 1632931200000

  所以这个00的表示是没问题的,那么最大和最小值就应该是00:00:00与23:59:59。

  但这里有一个要注意的问题,如果是时间闭环的话,不能将查找的时间设置为[00:00:00, 23:59:59]。这种设计会造成23:59:59之后1秒内的数据在查找区间之外,所以正确的设置方法应该是[00:00:00 第二天的00:00:00),startTime为大于等于,而endTime那里条件是小于,这才是真正的时间闭环。

原文地址:https://www.cnblogs.com/bruceChan0018/p/15355793.html