`
mushme
  • 浏览: 789395 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

判断近期是否过生日的函数

阅读更多
public static void main(String[] args) {
		String birthString="01-03";
		String now="2011-12-20";
		int recentDays=15;
		try{
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		Date date=sdf.parse(now);
		if(compare(date,birthString,recentDays)){
			System.out.println(recentDays+"日内过生日");
		}else{
			System.out.println(recentDays+"日内不会过生日");
		}

		}catch(Exception e){e.printStackTrace();}
	}
	
	/**
	 * 要计算今年和明年两年的生日是否符合条件
	 * @param date
	 * @param birthady
	 * @param days
	 * @return flag 近期过生日返回true,否则返回false
	 */
	public static boolean compare(Date date,String birthString,int days){
		boolean flag=false;
		try{
			SimpleDateFormat sdf=new SimpleDateFormat("yyyyMM-dd");
			Date birthday=sdf.parse(date.getYear()+1900+birthString);
			Date nextBirthday=sdf.parse(date.getYear()+1901+birthString);
			System.out.println("今日:"+date.toLocaleString());
			System.out.println("今年生日:"+birthday.toLocaleString());
			System.out.println("明年生日:"+nextBirthday.toLocaleString());
			Date end=DateUtil.addDate(date, days);//计算今天days之后的日期
			if((birthday.after(date)&&birthday.before(end))||nextBirthday.before(end)){//nextBirthday年比当前年大,所以肯定要晚于now
				flag=true;
			}
			}catch(Exception e){e.printStackTrace();}
		return flag;
	}


调用的另外一个工具类的时间添加方法
/**
     * 日期相加
     * @param date 日期
     * @param day 天数
     * @return 返回相加后的日期
     */
    public static java.util.Date addDate(java.util.Date date, int day) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
        return c.getTime();
    }
分享到:
评论

相关推荐

    js根据身份证判断性别和生日

    本篇文章将详细讲解如何使用JavaScript来实现根据15位或18位身份证号码判断性别和生日。 首先,身份证号码的第17位数字用于判断性别。如果该数字为奇数,则表示该人是男性;如果是偶数,则表示该人是女性。例如,...

    php 计算年龄跟生日倒计时

    这段代码首先判断是否已经过了今年的生日,然后计算下一次生日的时间戳,并减去当前时间戳得到剩余的秒数,进一步转换成天数。 通过上述代码,我们可以实现一个完整的PHP程序,既计算年龄又显示生日倒计时。结合这...

    EXCEL函数公式大全

    - `DATEDIF`函数还可以结合`TODAY()`函数,根据当前日期判断是否已经过了生日,从而决定年龄是否增加一岁。 6. **以特定日期为基准计算年龄**: - 如果需要以特定日期(如2006年10月31日)为基准,计算年龄,可以...

    Excel-VBA宏编程实例源代码-自定义函数-客户生日提醒.zip

    4. **客户生日提醒**:这个实例可能是通过读取包含客户信息(如姓名、生日等)的工作表数据,然后使用VBA宏判断当前日期是否接近客户的生日,如果接近,则显示提醒信息。 5. **事件驱动编程**:VBA支持事件驱动编程...

    收集整理的SQL Server自定义函数

    12.根据身份证得到生日函数 23 13.根据身份证计算性别函数 24 14.将身份证的15位号码升级为18位 25 15.通过身份证获得户籍 27 16.多个数据项的字符串取指定位置字符 28 17.中缀算术转后缀算术表达式并计算的函数 29 ...

    专题资料(2021-2022年)EXCEL表格函数公式大全.doc

    - **是否已过生日**:某些公式会考虑是否已经过了生日,如`=DATEDIF(A1,TODAY(),"Y")`,这将根据生日是否已过,准确地计算年龄。 - **年龄段划分**:根据身份证号码区分不同年龄段,例如,对于男性,16岁以下、16...

    生日快乐代码.zip

    2. **条件语句**:如果代码是基于日期运行的,可能会包含一个检查当前日期是否为某人生日的条件语句,如if...else结构。 3. **日期和时间处理**:为了判断日期,代码可能使用了编程语言中的日期和时间库,如Python...

    excel中161个VBA_自定义函数超级实用

    函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30.函数作用:查找一字符串...

    Python常用内置函数和方法

    in 运算符用于判断字符串中是否包含指定字符串。 用法: ``` print('P' in 'Python') # True print('P' not in 'Python') # False ``` max 函数 max 函数返回当前数据中最大的成员。 用法: ``` print(max('今天...

    Excel中常用函数公式及技巧大全.doc

    该公式可以计算出生日期到当前日期之间的年份差,并判断是否已过生日而自动增减一岁。 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)) 该公式可以计算出生日期到当前日期之间的年份差,并考虑到闰年...

    公民身份证提取出生日期和性别函数

    - 如果`@t`为`Ա`,则通过判断第17位是否为奇数来确定性别(奇数表示男性,偶数表示女性)。 - 当身份证号码长度为15位时: - 如果`@t`为空,则在提取的出生日期前面加上`19`,形成完整的年份,然后转换成`YYYY-...

    Excel公式与常用函数速查手册

    - **知识点**: 使用逻辑函数如IF、AND、OR等来判断一个值是否位于两个日期之间。 - **应用场景**: 例如,检查某人的生日是否在特定日期范围内。 **技巧016 根据材料编码返回具体名称** - **知识点**: 结合VLOOKUP或...

    根据身份证号判断所属省份、生日及性别.rar

    本压缩包文件“根据身份证号判断所属省份、生日及性别.rar”显然提供了关于如何使用Python进行这种操作的示例或教程。 身份证号码共18位,分为三个部分:前6位代表地区码,接下来的8位是出生日期,最后4位是顺序码...

    记录朋友生日及家庭信息的代码

    3. **日期比较**:包含了比较当前日期与生日的逻辑,判断是否临近生日。 4. **提醒功能**:实现了提醒机制,可能包括设置提醒时间、生成提醒内容和发送提醒的方法。 5. **主程序**:控制整个应用的流程,如加载数据...

    EXCEL表格函数公式大全模板.doc

    在进行年龄计算时,需要注意的是,身份证号码中的出生日期并不一定代表实际的生日,因此在某些情况下,如计算周岁,需要考虑是否已经过了生日。`DATEDIF`函数在这里就显得尤为重要,因为它可以根据指定的日期类型...

    php提取身份证号码中的生日日期以及验证是否为成年人的函数

    文章中提到的是一个PHP函数,它能够从身份证号码中提取出出生日期,并根据这个日期判断一个人是否已成年。身份证号码通常有两种格式,一种是15位的旧身份证号码,另一种是18位的新身份证号码。对于18位身份证号码,...

    excel函数应用实例

    IF函数允许你基于特定条件返回两个可能的结果,例如判断某产品的销售是否达标,达标则显示“成功”,否则显示“失败”。 5. **VLOOKUP函数**:垂直查找。在多个表格间查找数据时,VLOOKUP能快速定位并返回匹配值,...

    第5章 函数和代码复用.pptx

    为了统计10000以内的素数个数,我们需要首先定义一个检查素数的函数,然后遍历指定范围内的所有数字,调用这个函数来判断每个数字是否为素数。 ```python def is_prime(number): if number return False for i ...

Global site tag (gtag.js) - Google Analytics