`

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

    博客分类:
  • 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;
	}

 

分享到:
评论

相关推荐

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

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

    Excel函数活用范例大辞典(全新版).何先军.2015-2(带书签高清文字版).pdf

    140 在时间日期数据中提取时间或日期 285 Chapter 05 文本函数应用实例 287 ◎字符串转换函数 288 141 换行显示库存量及是否需要进货 288 142 将文本数字转换为数值并计算利润 290 143 从身份证号码中提取...

    realplayer

    c) RN 可根据此“软件”的免费版本修改“许可协议”,在 14 天内以书面形式通知您,包括通过下面所描述的通信功能的通知。 2. 许可限制。 a) 禁止执行以下行为:(i) 在以上所列条款允许范围之外,允许其它个人使用此...

    《javaScrip开发技术大全》源代码

    • sample12.htm 获得当前时间的毫秒表示 • sample13.htm 获得指定时间的毫秒表示 • sample14.htm 日期之差 • sample15.htm 求圆的面积 • sample16.htm 数字对象与数字...

    mysql数据库my.cnf配置文件

    back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。 # 如果期望在一个短时间内有很多连接,你需要增加它。也就是说,如果MySQL的连接数据达到max_connections时,新来的请求将会被...

    华为编程开发规范与案例

    在测试时发现程序死在循环之中,得到的错误记录是"Bus Error"(总线出错),由此可以说明出现了内存操作异常。 经过跟踪变量值发现循环变量i的阀值pSysHead-&gt;dbf_count的数值为0xFFFFFFFF,该值是从被破坏的内存...

    ASP网上人才招聘系统.doc

    通过它应聘者和招聘公司/单位可以在网上上通过Internet,突破时间和空间的限制而实现工作求职和公司/单位的人才的招聘。网上招聘的崛起对传统人才招聘流通体系产生了强烈的冲击,网上招聘较之传统招聘具有招聘范围广...

    基于AT89C51单片机的音乐播放器课程设计.doc

    由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器 件采用AT89C51单片机,本播放器具有电路简单,功能强大,易于拓展等特点。 课程设计要求 一般情况下,接通电源,自动播放音乐,功能包括:播放、...

    Excel新增工具集

    后者根据学生各学科分数、性别等情况,一一判断这个学生分配到哪个班合适,所以最后的每班各学科平均分、总平均分相差仅在半分之内。 编者强烈建议您的特殊要求不要超过两个,不能考虑太多的编班因素,不然会以牺牲...

    eas供应链dep案例集

    单据操作控制修改 EASSCMA1P0083 应收应付单据分录上的科目名称显示长编码 应收应付单的单据中,会计科目只显示短名称,这样财务部门在审核时无法判断科目是否正确,应能查看科目全称,方便审核。 通过脚本,将科目...

    你必须知道的495个C语言问题

    3.15 我要检查一个数是不是在另外两个数之间,为什么if(abc)不行? 3.16 为什么如下的代码不对?inta=1000,b=1000;longintc=a*b; 3.17 为什么下面的代码总是给出0?doubledegC,degF;degC=5.0/9*(degF-32); ...

    维宏Ncstudio V5.4.57

    在系统参数之厂商参数之电机参数中,增加了Z轴最大速度参数的设定 "单步"增加减速功能 在NCBoard中改进了暂停时抬刀(落刀)、以及微调的算法 V5.4.17 改进了软限位算法,以前的版本加减速不正确 V5.4.18 错误...

    c语言编写单片机技巧

    STANDBY电流测试:测量IC处于HALT模式时即每一个接点(PAD)在1态0态或Z态保持不变时的漏电流是否符合最低之规格。 &#61548; 耗电测试:整颗IC的静态耗电与动态耗电。 &#61548; 输入电压测试:测量每个输入接脚...

    C语言程序设计标准教程

    在本章内将介绍主要的文件操作函数。 文件打开函数fopen  fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针...

    手机 pdf 阅读器

    查看文件详情时会根据大小来判断是否显示K或M了 增加歌词同步功能(暂时不支持触屏操作) /** * 1:上一首 * 2:列表上 * 3:下一首 * 4:列表上一页 * 5:播放当前列表中选中的项 * 6:列表下一页 * 7...

    LINGO软件的学习

    #eq#是逻辑运算符,用来判断是否“相等”,可参考§4. &1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有成员;&2可看作派生集的第2 个原始父集的索引,它取遍该原始父集的所有成员;&3,&4,……,...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在决定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    除在保密期内的保密论文和在技术保护期限内的论文外,允许论文被查阅和借阅,可以公布(包括以电子信息形式刊登)论文的全部内容或中、英文摘要等部分内容。论文的公布(包括以电子信息形式刊登)授权东南大学研究生...

Global site tag (gtag.js) - Google Analytics