`

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

阅读更多

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

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

方法:

	/**
	 * 判断时间是否在时间段内
	 * 
	 * @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;
		}
	}

 

1
0
分享到:
评论
6 楼 q77102902 2017-11-09  
4楼 精辟!  
5 楼 liuwencaia 2016-08-04  
// 当前时间小时数在开始时间和结束时间小时数之间 
        if (strDateH >= strDateBeginH && strDateH <= strDateEndH) { 
            return true; 
            // 当前时间小时数等于开始时间小时数,分钟数在开始和结束之间 
        }
4 楼 kingcs 2015-03-05  
	public static void main(String[] args) {
		System.out.println(compareDate(new Date(2015, 2, 1, 10, 20, 22), new Date(2015, 2, 1, 10, 20, 25),
				new Date(2015, 2, 1, 10, 20, 23)));

	}

	// 判断时间是否在时间段内
	public static boolean compareDate(Date start, Date end, Date date) {
		if (date.getTime() >= start.getTime() && date.getTime() <= end.getTime()) {
			return true;
		}
		return false;
	}

3 楼 kingcs 2015-03-05  
很简单啊,把时间都转成long型的就行了,几行代码就解决了。
2 楼 阿毛色色 2015-03-05  
直接用时间戳比较就行,不需要那么多判断
1 楼 jj356302304 2015-03-05  
/**
     * 判断date是否在指定的minDate和maxDate日期内,传递的格式为yyyy-MM-dd
     *
     * @param date 输入的日期
     * @param minDate 是否在指定的日期内最小日期
     * @param maxDate 是否在指定的日期内最大日期
     * @return true 在指定的区间内   false 不在指定的区间内
     * @throws BaseException
     */
    public static boolean isBetween(String date, String minDate, String maxDate)
            throws BaseException
    {
        try
        {
            minDate = str2YMD(minDate).replace("-", "");
            maxDate = str2YMD(maxDate).replace("-", "");
            date = str2YMD(date).replace("-", "");
            if (Tools.obj2Int(date) >= Tools.obj2Int(minDate)
                    && Tools.obj2Int(date) <= Tools.obj2Int(maxDate))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        catch (Exception e)
        {
            throw new BaseException("计算指定时间" + date + "是否在指定的范围" + minDate
                    + "," + maxDate + "时出现异常");
        }
    }

相关推荐

    java 判断两个时间段是否重叠的案例.docx

    在判断两个时间段是否重叠时,我们可以使用以下思路:当整个时间段作为一个整体时,只有时间段小于或大于另一个时间段时,它们才没有重叠的交集。 下面是实现代码: ```java package com.abc.common.util; import...

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

    在Java编程中,有时我们需要判断一个特定的时间是否位于两个时间点之间,比如判断当前时间是否在凌晨0点至5分之间。这个问题可以通过日期和时间处理来解决。在Java中,我们可以使用`java.util.Date`、`java.text....

    求一个时间是否在两组时间段交集内

    将2组时间段合并求交集,再判断一个时间是否在其中

    JAVA中判断一个整数是否为质数

    在Java编程语言中,判断一个整数是否为质数是一个常见的数学问题,也是计算机科学基础课程中的典型示例。质数定义为只能被1和它本身整除的大于1的自然数,例如2、3、5、7、11等。在实际应用中,检查一个数是否为质数...

    java 判断两个时间段是否重叠的案例

    在上面的代码中,我们定义了一个名为 `DateUtil` 的工具类,用于判断两个时间段是否重叠。该类中包含四个比较先后顺序的方法,分别为小于、小于等于、大于和大于等于。我们使用 `LocalDateTime` 来表示时间点,并...

    Java判断时间段内文件是否更新的方法

    在Java编程中,判断时间段内文件是否更新是一个常见的需求,特别是在监控文件系统变动或实时处理文件内容时。这里我们将深入探讨两种实现这一功能的方法:定时器和自定义类加载器。 1. 定时器(Timer)方法: ...

    判断当前日期是否在本月的最后一周内

    本文将详细讲解如何根据给定的标题和描述,利用Java编程语言来判断当前日期是否在本月的最后一周内,以及如何判断日期是否在某一周内的最后几天、前几天或24小时内。 首先,我们需要引入Java的`java.time`包,这个...

    JAVA闰年的判断

    在编程领域,闰年的判断是一个常见的任务,尤其是在处理日期和时间相关的算法时。闰年是公历中的特殊年份,为了保持日历年与地球公转周期的同步,每四年会额外增加一天,即2月29日。这个规则最早由罗马皇帝凯撒大帝...

    JAVA时间工具类(计算法定工作日工时等)

    JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    综上所述,这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印...

    判断两个时间段的时间差

    java时间差代码,可以轻松判断两个时间段之间相差多少天

    一行代码判断两个日期是否在同一周

    这段代码试图通过计算两个日期之间的总天数(`ts.TotalDays`)来判断它们是否在同一周。但是,这种方法存在不准确的问题,因为它没有考虑到日期所在的星期几。 接下来,我们来看两种更准确的方法: ### 方法一:...

    Java 计算日期月差

    计算两日期之间的差,看看两日期之间能差几个月的问题

    java代码-判断时间是否工作时间

    在Java编程中,判断时间是否在工作时间内是一个常见的需求,比如用于日程安排、任务调度或者业务逻辑处理。本篇文章将深入探讨如何编写这样的代码,包括理解Java中的日期和时间API,以及创建一个函数来检查给定的...

    java源代码:万年历小程序

    在Java中,可以使用`isLeapYear()`方法来确定一个年份是否为闰年。 4. **控制台输出**:对于学习阶段,程序可能通过控制台打印日历。这涉及到格式化输出,如使用`System.out.println()`来控制文本的对齐和空格。 5...

    判断用户是否在线和实时统计在线人数

    如果一段时间内(默认30分钟,可配置)用户没有发送任何请求,服务器则认为用户已离线,会清除对应的会话。 "判断用户是否在线"的方法主要涉及以下步骤: 1. 创建并管理HTTP会话:当用户首次访问或登录时,服务器...

    表单校验时间段重叠问题

    有个统计时段的字段,需排除选择的时间范围不能与已有时间段重叠

    解决jvmjava.net.BindException: Address already in use: JVM_Bind异常

    6. **设置超时**:在某些Java服务器中,可以设置端口绑定的超时时间,如果端口在指定时间内未释放,服务器会自动尝试下一个可用端口。 7. **重启计算机**:在所有其他方法都无效的情况下,重启计算机可以清空所有...

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    综上所述,`DateUtils.java` 文件可能提供了一个方便的方式来处理日期和时间的差异,使得开发者无需关注底层的计算细节。如果你需要进一步了解或使用类似的功能,可以查看给定的博客链接以获取更多详细信息。

    java判断试题.pdf

    ### Java判断题知识点详解 #### 1. JSP 包含指令 (`&lt;jsp:include&gt;`) **知识点**: `&lt;jsp:include&gt;` 指令在 JSP 文件中的作用是在编译时将其他 JSP 文件的内容合并到当前 JSP 文件中。 **解析**: 正确。`&lt;jsp:...

Global site tag (gtag.js) - Google Analytics