欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 判断一个时间是否在另一个时间段内

程序员文章站 2024-03-12 11:30:20
      需求:当时间在凌晨0点至0点5分之间程序不执行。   也就是实现判断当前时间点是否在00:00:00至00:...

      需求:当时间在凌晨0点至0点5分之间程序不执行。

  也就是实现判断当前时间点是否在00:00:00至00:05:00之间

  方法:

  java代码 :

  /**

  * 判断时间是否在时间段内 *

  * @param date

  * 当前时间 yyyy-mm-dd hh:mm:ss

  * @param strdatebegin

  * 开始时间 00:00:00

  * @param strdateend

  * 结束时间 00:05:00

  * @return

  */

  public static boolean isindate(date date, string strdatebegin,

  string strdateend) {

  simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss");

  string strdate = sdf.format(date);

  // 截取当前时间时分秒

  int strdateh = integer.parseint(strdate.substring(11, 13));

  int strdatem = integer.parseint(strdate.substring(14, 16));

  int strdates = integer.parseint(strdate.substring(17, 19));

  // 截取开始时间时分秒

  int strdatebeginh = integer.parseint(strdatebegin.substring(0, 2));

  int strdatebeginm = integer.parseint(strdatebegin.substring(3, 5));

  int strdatebegins = integer.parseint(strdatebegin.substring(6, 8));

  // 截取结束时间时分秒

  int strdateendh = integer.parseint(strdateend.substring(0, 2));

  int strdateendm = integer.parseint(strdateend.substring(3, 5));

  int strdateends = integer.parseint(strdateend.substring(6, 8));

  if ((strdateh >= strdatebeginh && strdateh <= strdateendh)) {

  // 当前时间小时数在开始时间和结束时间小时数之间

  if (strdateh > strdatebeginh && strdateh < strdateendh) {

  return true;

  // 当前时间小时数等于开始时间小时数,分钟数在开始和结束之间

  } else if (strdateh == strdatebeginh && strdatem >= strdatebeginm

  && strdatem <= strdateendm) {

  return true;

  // 当前时间小时数等于开始时间小时数,分钟数等于开始时间分钟数,秒数在开始和结束之间

  } else if (strdateh == strdatebeginh && strdatem == strdatebeginm

  && strdates >= strdatebegins && strdates <= strdateends) {

  return true;

  }

  // 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数小等于结束时间分钟数

  else if (strdateh >= strdatebeginh && strdateh == strdateendh

  && strdatem <= strdateendm) {

  return true;

  // 当前时间小时数大等于开始时间小时数,等于结束时间小时数,分钟数等于结束时间分钟数,秒数小等于结束时间秒数

  } else if (strdateh >= strdatebeginh && strdateh == strdateendh

  && strdatem == strdateendm && strdates <= strdateends) {

  return true;

  } else {

  return false;

  }

  } else {

  return false;

  }

  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!