java 判断是否是生日_java判断生日字符串是否合法

写了个判断用户输入生日字符串是否合法的方法,前提是输入字符串格式为yyyyMMdd。

public static boolean checkBirthDay(String birthday) {

if (Common.empty(birthday)) {

return false;

}

if (birthday.length() != 8) {

return false;

}

Pattern pattern = Pattern

.compile("^[1,2]\\d{3}(0[1-9]||1[0-2])(0[1-9]||[1,2][0-9]||3[0,1])$");

Matcher matcher = pattern.matcher(birthday);

if (!matcher.matches()) {

return false;

}

Date birth = null;

try {

birth = new SimpleDateFormat("yyyyMMdd").parse(birthday);

} catch (ParseException e) {

e.printStackTrace();

}

if (!new SimpleDateFormat("yyyyMMdd").format(birth).equals(birthday)) {

return false;

}

// 获取当前日期的毫秒数

long currentTime = System.currentTimeMillis();

// 获取生日的毫秒数

long birthTime = birth.getTime();

// 如果当前时间小于生日,生日不合法。反之合法

if (birthTime > currentTime) {

return false;

}

return true;

}

原文:http://blog.csdn.net/justyuze/article/details/44347365

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值