`
mushme
  • 浏览: 777030 次
  • 性别: 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();
    }
分享到:
评论

相关推荐

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

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

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

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

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

    本书侧重于函数的实战应用,共分12章,前10章分别介绍了数学函数、统计函数、日期和时间函数、文本函数、逻辑函数、查找和引用函数、财务函数、信息函数以及数据库和三角函数在实战中的应用;第11 章介绍了函数与...

    生日快乐完整代码使用Python语言编写

    在主程序中,我们首先获取当前时间,然后判断是否已经是生日。如果是生日,就获取用户输入的名字,并调用birthday_wish函数输出祝福语;如果不是生日,就输出一条等待提示。 当然,我们可以继续扩展这个代码,让它...

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

    php 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下: <?php //用php从身份证中提取生日,包括位和位身份证 function ...

    我整理的VBA 自定义函数大全 共138页

    20.一个能计算是否有重复单元的函数 21.数字金额转中文大写 22.将数字转成英文 23.人民币大小写转换 24.获取区域颜色值 25.获取活动工作表名 26.获取最后一行行数 27.判断是否连接在线 28.币种转换 29.检验工作表...

    Excel百宝箱8.0

    函数功能与参数:判断指定区域中是否有重复单元格的函数只有一个参数即为引用,结果为True时表示有重复,否则无重复。 函数名称:File  函数功能与参数:用于创建带链接的文件目录,有三个参数,包括路径、文件名...

    C语言设计报告(电子通讯录).doc

    4、导出函数:void load(int b) 首先判断fopen"只读"打开"d://bbb.txt"是否成功,若其返回值不为零,继续下面操 作。用for循环通过fscanf语句将文件中的朋友资料取出放到em结构数组里面。形参b指 需要导出的朋友。...

    delphi 开发经验技巧宝典源码

    0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 ...

    Excel百宝箱9.0无限制破解版.rar

    第一参数为引用,第二参数输入“DQ”取返回地区,输入“XB”则返回性别,输入“SR”则返回生日。忽略第二参数则默认显示地区。 函数名称:大写 函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,...

    delphi 开发经验技巧宝典源码06

    0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 ...

    Exce百宝箱——2012版本.rar

    第一参数为引用,第二参数输入“DQ”取返回地区,输入“XB”则返回性别,输入“SR”则返回生日。忽略第二参数则默认显示地区。 函数名称:大写 函数功能与参数:将阿拉伯数字转为人民币金额大写。仅需要一个参数,...

    《Excel应用大全》示例文件 光盘文件

    • 利用MID 函数提取身份证号码中的8 位生日数字 • 使用文本提取函数进行数字分列 • 使用查找函数拆分空格分隔的数据 • 实现EAN-13条码的校验位的算法 • 利用文本查找函数进行模糊查找 • 利用SEARCHB 函数分离...

    EXCEL百宝箱8.0终极版

    函数功能与参数:判断指定区域中是否有重复单元格的函数只有一个参数即为引用,结果为True时表示有重复,否则无重复。 函数名称:File  函数功能与参数:用于创建带链接的文件目录,有三个参数,包括路径、文件名...

    基于从语言的智能日历

    C语言程序设计实践题目要求 2017级通信工程3班 总体要求: (1)每位同学的输出界面要有带有自姓名、学号、班级、完成时间(年月日...(4)、可以实现,任意输入一个日期,判断当前日起是否为重要日期,并显示该日期的信息。

    Python练手实战小例子1:简单的星座判断代码

    这份代码很适合Python小白初学者练手用,几十行代码就可以轻松实现星座判断程序。 学Python很轻松,感兴趣的小伙伴们可以关注布丁_码上成功。 Python是最容易上手,让人学了最有成就感的编程语言,你值得学习! "请...

    Python实战练手项目2:属相判断程序ChineseZodiac.py

    这份代码很适合Python小白初学者练手用,几十行代码就可以轻松实现属相判断程序。 学Python很轻松,感兴趣的小伙伴们可以关注布丁_码上成功。 Python是最容易上手,让人学了最有成就感的编程语言,你值得学习! "请...

    中科软java面试题

    java面试题1逻辑题,很多都是给出几个数,然后找规律添空缺的数 2简答,什么是javabean;(2)编程题,用递归方法实现什么功能 (3)数据库,基本的sql语句 ,Jdo是什么?...3 1+2+3+4+...+100做成函数

Global site tag (gtag.js) - Google Analytics