`

判断当前时间是否在限制时间段之内

    博客分类:
  • Java
阅读更多
 /**
	 * 判断当前时间是否在限制时间段之内(是:返回true,否:返回false)
	 * 
	 * @return
	 */
	public static boolean isLimitTime() {
		boolean bool = false;
		Date currentTime = com.born.sys.util.date.DateUtil.getDateHHObject();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
		String currentDateStr = sdf.format(currentTime);
		String day = currentDateStr.substring(8, 10);
		String monthEndDay = DateUtil.getEndDateOfMonth(sdf1
				.format(currentTime));
		if ("01".equals(day)) {
			bool = true;
		} else if ("02".equals(day)) {
			String timeTemp = currentDateStr.substring(0, 10) + " 09:00:00";
			try {
				Date endTime = sdf.parse(timeTemp);
				long interval = (currentTime.getTime() - endTime.getTime()) / 1000;// 秒
				if (interval < 0) {
					bool = true;
				}
			} catch (ParseException e) {
				e.printStackTrace();
			}
		} else {
			if (day.equals(monthEndDay.subSequence(8, 10))) {
				String timeTemp = monthEndDay + " 22:00:00";
				try {
					Date endTime = sdf.parse(timeTemp);
					long interval = (currentTime.getTime() - endTime.getTime()) / 1000;// 秒
					if (interval > 0) {
						bool = true;
					}
				} catch (ParseException e) {
					e.printStackTrace();
				}
			}
		}
		return bool;
	}

	/**
	 * 获取今天日期是1号还是2号或者月末最后一天, 1日:1 2日:2 月末:3
	 * 
	 * @return
	 */
	public static String getDayLimit() {
		String reStr = "0";
		Date currentTime = com.born.sys.util.date.DateUtil.getDateHHObject();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
		String currentDateStr = sdf.format(currentTime);
		String day = currentDateStr.substring(8, 10);
		String monthEndDay = DateUtil.getEndDateOfMonth(sdf1
				.format(currentTime));
		if ("01".equals(day)) {
			reStr = "1";
		} else if ("02".equals(day)) {
			reStr = "2";
		} else {
			if (day.equals(monthEndDay.subSequence(8, 10))) {
				reStr = "3";
			}
		}
		return reStr;
	}

	/**
	 * 获取一个月的最后一天
	 * 
	 * @param dat
	 * @return
	 */
	public static String getEndDateOfMonth(String date) {// yyyy-MM-dd
		String str = date.substring(0, 8);
		String month = date.substring(5, 7);
		int mon = Integer.parseInt(month);
		if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8
				|| mon == 10 || mon == 12) {
			str += "31";
		} else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
			str += "30";
		} else {
			if (isLeapYear(date)) {
				str += "29";
			} else {
				str += "28";
			}
		}
		return str;
	}

	/**
	 * 判断是否润年
	 * 
	 * @param ddate
	 * @return
	 */
	public static boolean isLeapYear(String ddate) {
		Date d = com.born.sys.util.date.DateUtil.getDateHHObject();
		GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
		gc.setTime(d);
		int year = gc.get(Calendar.YEAR);
		if ((year % 400) == 0)
			return true;
		else if ((year % 4) == 0) {
			if ((year % 100) == 0)
				return false;
			else
				return true;
		} else
			return false;
	}

 

分享到:
评论

相关推荐

    任意時間區分白晚班

    在这个例子中,`CASE WHEN`结构被用来判断特定时间是否属于白天班次还是夜晚班次。 #### 语法示例: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END ``` 其中...

    K线剩余时间指标

    - **交易信号**:某些交易策略可能基于K线形态的完整度,比如早晨之星或黄昏之星,KTime可以辅助判断这些形态是否能顺利完成。 3. **使用方法**: - **结合其他指标**:KTime应与趋势指标、动量指标或其他技术...

    Redis实战记录之限制操作频率

    3. **时间范围**:每个操作在特定时间段内(如30秒、10秒、一天)内受到限制。 4. **操作次数**:每个用户在该时间段内能执行的最多操作次数。 5. **超出后的处理**:超限后会禁止操作一段时间,并显示相应提示。 ...

    java发送短信系列之限制日发送次数

    【Java 发送短信系列之限制日发送次数】 在Java实现短信发送功能时,为了防止恶意攻击或误操作导致大量短信的滥用,通常需要对同一用户(通过手机号码和IP地址识别)的日发送次数进行限制。本篇将详细介绍如何在...

    15.精确掌控并发:滑动时间窗口算法在分布式环境下并发流量控制的设计与实现_V20240116.pdf

    **限制检查**:如果任意连续时间段内的请求总数超过了预设的阈值,则拒绝新的请求。 4. **窗口更新**:随着时间的推移,窗口会不断地向前滑动,相应的计数器也会随之更新。 #### 2. 滑动时间窗口在支付系统中的...

    java判断试题.pdf

    结束 `session` 的主要方式包括关闭浏览器、两次访问之间的间隔时间超过非活动时间限制,或者显式地调用 `HttpSession` 的 `invalidate()` 方法。 --- #### 20. `Properties` 类的 `load()` 方法 **知识点**: `...

    冷却技能_按钮几分钟内不能点击.rar

    你需要创建一个脚本,记录技能使用的时间,并根据预设的冷却时间来判断是否允许再次使用。 3. **MonoBehaviour生命周期**:理解MonoBehaviour类的Update()、OnMouseDown()等方法的生命周期对实现技能冷却至关重要。...

    Louts Notes 公式

    3. **时间限制**:你可以设置公式来限制特定时间段内的操作,如限制在非工作时间使用系统: ```lotusscript Dim currentTime As Variant currentTime = Now() '... If Evaluate("@If(((h&gt;8 & h)|(h&gt;=14 & h)|(h=8&m...

    plc教程理论篇之plc的计数指令及计数程序设计二.pdf

    - **时间区间的划分**:计数器的当前值可以用来定义不同的时间段,例如CNT 000、C0值0-49对应时间段1,50-99对应时间段2,这可用于时间控制任务,比如喷泉的喷水时间控制。 - **中断功能**:某些高速计数器支持...

    Hans123_Trader v2 - MetaTrader 5EA.zip

    EA的核心功能之一是在指定的时间段内进行交易。这表明“Hans123_Trader v2”具有时间管理能力,可以在特定的市场活跃时段启动交易策略,避免在市场清淡时参与交易,降低无谓的风险。交易时间段的选择往往基于对市场...

    电力电子SVPWM五段法仿真.doc

    根据扇区编号规则,可以构建逻辑判断模块来确定当前扇区,并通过示波器观察S的波形,以确认扇区切换顺序。 然后,合成参考矢量时需要计算扇区两矢量的作用时间。例如,在扇区3中,上方矢量作用时间为\( T_1 \),...

    筹码之光通达信指标公式源码.doc

    此外,`GZ`作为一个缩放比例,可以将价格区间标准化,这有助于对比不同股票或不同时间段的筹码分布,使分析结果更具有可比性。 在计算不同价格区间的累计成交量方面,`LH1`到`LH10`变量发挥了核心作用。它们通过一...

    河北省巨鹿县 高二英语上学期第一次月考试题.doc

    6. **时间管理**:听力测试的特殊之处在于它有严格的时间限制,学生需要在短时间内完成大量题目。因此,合理的时间分配和快速的反应速度是取得好成绩的关键。 7. **应试技巧**:在实际考试中,学生应学会在听的同时...

    生产制造FAQ.pdf

    例如,某些材料可能因为环保或者质量控制的原因,只在特定的时间段内可以使用。在K/3系统中,如何有效地管理物料的有效期,确保生产过程中使用的都是有效期内的物料,是企业关注的重点之一。 **解决方法**: 1. **...

    通达信放量预警指标源码通达信指标公式源码.doc

    S1检查股票是否处于停牌状态,S2判断收盘价是否低于20元,S3则限制流通市值小于4亿。这些条件可以灵活调整,以适应不同的投资偏好。 综合以上条件,源码中的XG1变量将TJ1和TJ2结合,表示同时满足放量和45度角上升的...

    易语言简单计时

    其次,“延时”命令允许程序在指定的时间内暂停执行,这为实现定时器提供了可能。使用“延时”命令时,需要了解其参数代表的含义,以及不同参数对程序执行流的影响。例如,一个简单的延时器程序可能会让程序在延时...

    通达信指标公式源码 高位箱体之缩量平底买点指标.doc

    此外,在"BX"天内的最低价要位于前一日低点之上,成交量低于这段时间内的最低值,收盘价低于开盘价,且低于前一日的收盘价。这些条件的组合能够有效地筛选出符合缩量平底特征的买入时机。 这个策略的关键在于抓住...

    毕业就也之-----金山笔试题

    这段代码是关于组合和递归...这段代码主要展示了如何在限制时间内有效地处理组合问题,通过递归和位操作技巧,避免了直接计算组合数可能导致的大量计算。对于程序员来说,理解和掌握这些技术对于解决实际问题非常重要。

    Excel VBA实用技巧大全 附书源码

    04099判断单元格内是否输入了公式(之一) 04100判断单元格内是否输入了公式(之二) 04101判断工作表内是否有公式 04102判断某单元格区域是否为数组公式区域 04103判断工作表内是否有数组公式 04104判断单元格的...

    小阳憋大阳 通达信指标公式源码.doc

    A25和A26比较两次穿过零轴的间隔,如果最近的一次穿越是在更短的时间内发生的,那么A27会选取最近高点或低点的参考值。A28和A29则是对当前收盘价与前一日参考值的关系进行判断,看是否满足"小阳憋大阳"的形态条件。 ...

Global site tag (gtag.js) - Google Analytics