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

      需求:当时间在凌晨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;

  }

  }

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

(0)

相关推荐

  • java计算两个日期中间的时间

    java计算两个日期中间的时间 其中在数据库中有一个字段为datetime类型,想要计算两个日期之间过了多少天 多少小时 多少分钟. 思路为把时间换算为毫秒(与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量).然后利用毫秒的加减计算. 计算如下: public static String getDays(Date date){ Calendar cal=Calendar.getInstance(); cal.setTime(date); long oldTime=ca

  • Java获取UTC时间的方法详解

    本文实例讲述了Java获取UTC时间的方法.分享给大家供大家参考,具体如下: 取得本地时间: java.util.Calendar cal = java.util.Calendar.getInstance(); 取得指定时区的时间: java.util.TimeZone zone = java.util.TimeZone.getTimeZone("GMT-8:00″); java.util.Calendar cal = java.util.Calendar.getInstance(zone);

  • Java对日期Date类进行加减运算、年份加减月份加减、时间差等等

    实现代码一: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTestUtil { public static void main(String[] args) throws Exception { SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); String str=&

  • java8 LocalDate LocalDateTime等时间类用法实例分析

    本文实例讲述了java8 LocalDate LocalDateTime等时间类用法.分享给大家供大家参考,具体如下: 这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是Java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的date库joda-time.Java8中的date和time api是jodatime的作者参与开发的,实现了JSR310的全部内容.这些新的api都在包java.time下.

  • Java使用DateFormatter格式化日期时间的方法示例

    本文实例讲述了Java使用DateFormatter格式化日期时间的方法.分享给大家供大家参考,具体如下: Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; /** * Created by Fra

  • java_时间戳与Date_相互转化的实现代码

    1.时间戳的定义 时间戳是指文件属性里的创建.修改.访问时间. 数字时间戳技术是数字签名技术一种变种的应用.在电子商务交易文件中,时间是十分重要的信息.在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容.数字时间戳服务(DTS:digital time stamp service)是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护. 时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分: 需加时间戳的文件的摘要(dig

  • Java图片中显示当前时间的方法 原创

    Graphics2d 类提供了 drawString() 方法,实用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能.下面我们来看看其具体用法 语法如下: drawString(String str,int x,int y); 或 drawString(String str,float x, float y); str:要绘制的文本字符串: x:绘制字符串的水平起始位置: y绘制字符串的垂直起始位置. 此两种方法唯一的不同点就是使用的 x 和 y 参数的类型不同.   实例1:

  • js 判断当前时间是否处于某个一个时间段内

    js 判断当前时间(或者所选时间)是否在某一时间段 我们可以使用 jutils - JavaScript常用函数库的 isDuringDate 函数来实现 传入 beginDateStr (开始时间), endDateStr(结束时间) 使用方法 jutils.isDuringDate('2018/09/17', '2030/09/17'); // 当前时间是否在2018/09/17 - 2030/09/17 之间,输出 true jutils.isDuringDate('2018/09/17

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

          需求:当时间在凌晨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 i

  • C#实现判断一个时间点是否位于给定时间区间的方法

    本文实例讲述了C#实现判断一个时间点是否位于给定时间区间的方法.分享给大家供大家参考.具体如下: 本文中实现了函数 复制代码 代码如下: static bool isLegalTime(DateTime dt, string time_intervals); 给定一个字符串表示的时间区间time_intervals: 1)每个时间点用六位数字表示:如12点34分56秒为123456 2)每两个时间点构成一个时间区间,中间用字符'-'连接 3)可以有多个时间区间,不同时间区间间用字符';'隔开 例

  • java判断某个点是否在所画多边形/圆形内

    本文实例为大家分享了java判断某个点是否在所画范围内的具体代码,供大家参考,具体内容如下 IsPtInPoly.java package com.ardo.util.circle; import java.util.ArrayList; import java.util.List; /** * java判断某个点是否在所画范围内(多边形[isPtInPoly]/圆形[distencePC]) * @param point 检测点 * @param pts 多边形的顶点 * @return 点在

  • java判断一个文件是否为二进制文件的方法

    本文实例讲述了java判断一个文件是否为二进制文件的方法.分享给大家供大家参考.具体如下: public static boolean isBinary(File file) { boolean isBinary = false; try { FileInputStream fin = new FileInputStream(file); long len = file.length(); for (int j = 0; j < (int) len; j++) { int t = fin.rea

  • java 判断一个数组中的数值是否连续相邻的方法

    * 判断一个数组中的数值是否连续相邻 * 满足以下条件: * 1.0是例外可以反复出现 0可以通配任何字符 * 2.相同的数值不会重复出现 * 3.该数组可以是乱序的 * 当数组不含有0时满足最大值-最小值=n(数组长度)-1 * 当数组数组含有0时.满足最大值-最小值<n(数组长度)-1 * 所以,当最大值最大值-最小值>n(数组长度)-1时,一定不是连续相邻数组 package datastruct.usearray; public class JudgeAdjacent { privat

  • Python使用当前时间、随机数产生一个唯一数字的方法

    本文实例讲述了Python使用当前时间.随机数产生一个唯一数字的方法.分享给大家供大家参考,具体如下: Python生成当前时间很简单,比Java的代码简短多了,Java产生时间可参考<Java获取当前系统事件System.currentTimeMillis()方法> 具体代码如下: #-*-coding:utf-8-*- import datetime now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

  • iOS中利用CoreAnimation实现一个时间的进度条效果

    在iOS中实现进度条通常都是通过不停的设置progress来完成的,这样的进度条适用于网络加载(上传下载文件.图片等).但是对于录制视频这样的需求的话,如果是按照每秒来设置进度的话,显得有点麻烦,于是我就想直接用CoreAnimation来按时间做动画,只要设置最大时间,其他的就不用管了,然后在视频暂停与继续录制时,对动画进行暂停和恢复即可.录制视频的效果如下: 你可以在这里下载demo 那么接下来就是如何用CoreAnimation实现一个进度条控件了. 首先呢,让我们创建一个继承自CASha

  • 用vbs判断一个日期是否在指定的时段内

    问: 您好,脚本专家! 如何判断一个日期是否在指定的时段内? -- JW 答: 您好,JW. 真是巧啊,今天早上在上班的路上,我们听到有两个不同公司的不同的广告,他们都用"七月中的圣诞节"招揽顾客. 这促使着我们一到办公室就立即回答您的问题. 毕竟,如果这些公司都有一份您正在寻找的脚本,他们可能就会知道七月没有圣诞节. 注意: 当然,我们也可能记错了圣诞节的时间,所以也许您应该给所有的脚本专家送一份礼物,以防万一. 那么我们如何才能知晓圣诞节不在七月呢? 只需运行以下脚本即可: 复制代

  • Java中BigDecimal与0比较的一个坑实战记录

    目录 前言 问题解决 问题讲解 附:Java BigDecimal中一些其他的坑 总结 前言 在之前做的一个项目中,为了保证BigDecimal在除数 divide时,如果被除数为0,出现java.lang.ArithmeticException: / by zero 报错问题,写了一个对比.具体代码如下: public static BigDecimal getScale(BigDecimal data1,BigDecimal data2,Integer scale){ if(Objects.

随机推荐