要解析字符串而不使用SimpleDateFormat类,可以使用正则表达式和字符串的方法来提取日期和时间信息。以下是一个示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DateParser {
public static void main(String[] args) {
String dateStr = "2021-12-31 23:59:59";
String pattern = "(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})";
Pattern regexPattern = Pattern.compile(pattern);
Matcher matcher = regexPattern.matcher(dateStr);
if (matcher.find()) {
int year = Integer.parseInt(matcher.group(1));
int month = Integer.parseInt(matcher.group(2));
int day = Integer.parseInt(matcher.group(3));
int hour = Integer.parseInt(matcher.group(4));
int minute = Integer.parseInt(matcher.group(5));
int second = Integer.parseInt(matcher.group(6));
System.out.println("Year: " + year);
System.out.println("Month: " + month);
System.out.println("Day: " + day);
System.out.println("Hour: " + hour);
System.out.println("Minute: " + minute);
System.out.println("Second: " + second);
} else {
System.out.println("Invalid date format");
}
}
}
在上面的示例中,我们使用正则表达式"(\\d{4})-(\\d{2})-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})"
来匹配日期字符串的格式。然后,我们使用Matcher类来提取日期和时间的各个部分,并将它们转换为整数。最后,我们打印出解析后的日期和时间信息。
请注意,这只是一个简单的示例,用于解析特定格式的日期字符串。如果你需要解析其他格式的日期字符串,你可能需要使用不同的正则表达式模式。