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();
}
分享到:
相关推荐
本篇文章将详细讲解如何使用JavaScript来实现根据15位或18位身份证号码判断性别和生日。 首先,身份证号码的第17位数字用于判断性别。如果该数字为奇数,则表示该人是男性;如果是偶数,则表示该人是女性。例如,...
这段代码首先判断是否已经过了今年的生日,然后计算下一次生日的时间戳,并减去当前时间戳得到剩余的秒数,进一步转换成天数。 通过上述代码,我们可以实现一个完整的PHP程序,既计算年龄又显示生日倒计时。结合这...
- `DATEDIF`函数还可以结合`TODAY()`函数,根据当前日期判断是否已经过了生日,从而决定年龄是否增加一岁。 6. **以特定日期为基准计算年龄**: - 如果需要以特定日期(如2006年10月31日)为基准,计算年龄,可以...
4. **客户生日提醒**:这个实例可能是通过读取包含客户信息(如姓名、生日等)的工作表数据,然后使用VBA宏判断当前日期是否接近客户的生日,如果接近,则显示提醒信息。 5. **事件驱动编程**:VBA支持事件驱动编程...
12.根据身份证得到生日函数 23 13.根据身份证计算性别函数 24 14.将身份证的15位号码升级为18位 25 15.通过身份证获得户籍 27 16.多个数据项的字符串取指定位置字符 28 17.中缀算术转后缀算术表达式并计算的函数 29 ...
- **是否已过生日**:某些公式会考虑是否已经过了生日,如`=DATEDIF(A1,TODAY(),"Y")`,这将根据生日是否已过,准确地计算年龄。 - **年龄段划分**:根据身份证号码区分不同年龄段,例如,对于男性,16岁以下、16...
2. **条件语句**:如果代码是基于日期运行的,可能会包含一个检查当前日期是否为某人生日的条件语句,如if...else结构。 3. **日期和时间处理**:为了判断日期,代码可能使用了编程语言中的日期和时间库,如Python...
函数作用:判断是否连接在线.........................54 '28.函数作用:币种转换.................................54 '29.函数作用:检验工作表是否有可打印内容...............55 '30.函数作用:查找一字符串...
in 运算符用于判断字符串中是否包含指定字符串。 用法: ``` print('P' in 'Python') # True print('P' not in 'Python') # False ``` max 函数 max 函数返回当前数据中最大的成员。 用法: ``` print(max('今天...
该公式可以计算出生日期到当前日期之间的年份差,并判断是否已过生日而自动增减一岁。 =YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4)) 该公式可以计算出生日期到当前日期之间的年份差,并考虑到闰年...
- 如果`@t`为`Ա`,则通过判断第17位是否为奇数来确定性别(奇数表示男性,偶数表示女性)。 - 当身份证号码长度为15位时: - 如果`@t`为空,则在提取的出生日期前面加上`19`,形成完整的年份,然后转换成`YYYY-...
- **知识点**: 使用逻辑函数如IF、AND、OR等来判断一个值是否位于两个日期之间。 - **应用场景**: 例如,检查某人的生日是否在特定日期范围内。 **技巧016 根据材料编码返回具体名称** - **知识点**: 结合VLOOKUP或...
本压缩包文件“根据身份证号判断所属省份、生日及性别.rar”显然提供了关于如何使用Python进行这种操作的示例或教程。 身份证号码共18位,分为三个部分:前6位代表地区码,接下来的8位是出生日期,最后4位是顺序码...
3. **日期比较**:包含了比较当前日期与生日的逻辑,判断是否临近生日。 4. **提醒功能**:实现了提醒机制,可能包括设置提醒时间、生成提醒内容和发送提醒的方法。 5. **主程序**:控制整个应用的流程,如加载数据...
在进行年龄计算时,需要注意的是,身份证号码中的出生日期并不一定代表实际的生日,因此在某些情况下,如计算周岁,需要考虑是否已经过了生日。`DATEDIF`函数在这里就显得尤为重要,因为它可以根据指定的日期类型...
文章中提到的是一个PHP函数,它能够从身份证号码中提取出出生日期,并根据这个日期判断一个人是否已成年。身份证号码通常有两种格式,一种是15位的旧身份证号码,另一种是18位的新身份证号码。对于18位身份证号码,...
IF函数允许你基于特定条件返回两个可能的结果,例如判断某产品的销售是否达标,达标则显示“成功”,否则显示“失败”。 5. **VLOOKUP函数**:垂直查找。在多个表格间查找数据时,VLOOKUP能快速定位并返回匹配值,...
为了统计10000以内的素数个数,我们需要首先定义一个检查素数的函数,然后遍历指定范围内的所有数字,调用这个函数来判断每个数字是否为素数。 ```python def is_prime(number): if number return False for i ...