截取生份证号码的出生年月信息,并转换成yyyy-MM-dd格式的java代码
时间: 2023-04-10 18:01:07 浏览: 142
以下是Java代码:
```java
String idCard = "110101199003075555"; // 假设身份证号码为110101199003075555
String birthday = idCard.substring(6, 14); // 截取出生年月信息,即第7位到第14位
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = sdf.parse(birthday); // 将出生年月信息转换成Date类型
sdf.applyPattern("yyyy-MM-dd");
String formattedBirthday = sdf.format(date); // 将Date类型的出生年月信息转换成yyyy-MM-dd格式的字符串
System.out.println(formattedBirthday); // 输出结果为1990-03-07
```
注意:以上代码仅供参考,实际使用时需要根据具体情况进行调整。
相关问题
shee 将 yyyy-MM-dd HH:mm:ss 转换为yyyy-MM-dd
将 yyyy-MM-dd HH:mm:ss 转换为 yyyy-MM-dd 的方法是通过截取字符串的方式,只保留年月日部分的内容。在Java中,可以使用SimpleDateFormat类来进行日期格式的转换。
以下是示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter {
public static String convertDate(String dateTime) {
try {
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = inputFormat.parse(dateTime);
return outputFormat.format(date);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void main(String[] args) {
String dateTime = "2021-12-16 12:10:02";
String convertedDate = convertDate(dateTime);
System.out.println(convertedDate);
}
}
```
输出结果为:
```
2021-12-16
```
java截取字符串yyyy-mm-dd的年月部分
在Java中,如果你有一个形如"yyyy-MM-dd"的日期字符串,比如"2023-05-27",并想要提取出年份和月份的部分,你可以使用`SimpleDateFormat`或者`DateTimeFormatter`来解析然后提取。
以下是使用`SimpleDateFormat`的例子:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
String dateStr = "2023-05-27";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
sdf.setLenient(false); // 关闭宽容模式,防止解析异常
try {
String yearMonth = sdf.format(new Date(dateStr));
System.out.println("Year and Month: " + yearMonth); // 输出 "2023-05"
} catch (Exception e) {
e.printStackTrace();
}
```
如果你在Java 8及以上版本,可以使用`DateTimeFormatter`:
```java
import java.time.format.DateTimeFormatter;
String dateStr = "2023-05-27";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String yearMonth = dateStr.substring(0, 7); // 直接截取前7个字符
System.out.println("Year and Month: " + yearMonth); // 输出 "2023-05"
```
在这个例子中,我们只是简单地截取了字符串的前7个字符作为年月部分。`DateTimeFormatter`方法更为精确,能处理各种语言和格式的日期。
阅读全文