java身份证号输出生日
时间: 2023-05-20 21:03:18 浏览: 82
可以使用Java中的substring()方法来截取身份证号中的生日部分,具体代码如下:
String idCard = "身份证号码";
String birthday = idCard.substring(6, 14);
System.out.println(birthday);
其中,substring()方法的第一个参数是起始位置(包括),第二个参数是结束位置(不包括),因此6到14表示截取身份证号中的生日部分。输出结果为生日的八位数字,例如:19900101。
相关问题
java身份证识别生日
可以使用正则表达式来识别身份证号码中的生日信息,具体代码实现可以参考以下示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IdCardUtil {
// 身份证号码正则表达式
private static final String ID_CARD_PATTERN = "\\d{17}[\\d|x]|\\d{15}";
// 生日正则表达式
private static final String BIRTHDAY_PATTERN = "(\\d{6})(\\d{4})(\\d{2})(\\d{2})";
/**
* 获取身份证号码中的生日信息
*
* @param idCard 身份证号码
* @return 生日信息,格式为 yyyy-MM-dd
*/
public static String getBirthdayFromIdCard(String idCard) {
String birthday = "";
if (idCard != null && idCard.matches(ID_CARD_PATTERN)) {
Pattern pattern = Pattern.compile(BIRTHDAY_PATTERN);
Matcher matcher = pattern.matcher(idCard);
if (matcher.find()) {
birthday = matcher.group(2) + "-" + matcher.group(3) + "-" + matcher.group(4);
}
}
return birthday;
}
}
```
使用示例:
```java
String idCard = "110101199003077777";
String birthday = IdCardUtil.getBirthdayFromIdCard(idCard);
System.out.println(birthday); // 输出:1990-03-07
```
注意:身份证号码的有效性需要根据国家规定进行验证,本示例仅演示如何从身份证号码中提取生日信息。
java输入身份证输出星座生肖
可以使用Java的字符串截取和数组来实现。首先,我们需要输入身份证号码,然后根据身份证号码的规律,截取出生年月日的信息。接着,根据生日信息计算出星座和生肖。
具体实现步骤如下:
1. 输入身份证号码,例如:String idCard = "110101199003077890";
2. 截取出生年月日信息,例如:String birthday = idCard.substring(6, 14);
3. 将生日信息转换为日期格式,例如:SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Date birthDate = sdf.parse(birthday);
4. 计算星座,例如:
String[] constellationArr = {"魔羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座"}; int[] constellationEdgeDay = {20, 19, 21, 20, 21, 22, 23, 23, 23, 23, 22, 22}; int month = birthDate.getMonth() + 1; int day = birthDate.getDate(); int index = month; if (day < constellationEdgeDay[month - 1]) { index = index - 1; } if (index >= ) { System.out.println(constellationArr[index]); }
5. 计算生肖,例如:
String[] zodiacArr = {"猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"}; int startYear = 190; int endYear = birthDate.getYear() + 190; int index = (endYear - startYear) % 12; System.out.println(zodiacArr[index]);
最终输出结果为该身份证号码对应的星座和生肖。