Java基于正则表达式实现时间日期的常用判断操作实例
正则表达式是一种用来描述字符串匹配规则的工具,它可以在Java中被广泛地应用。通过正则表达式,我们可以对时间日期进行常用的判断操作。下面是Java基于正则表达式实现时间日期的常用判断操作实例。
日期格式
在进行时间日期的判断操作之前,我们需要知道日期格式,以下是时间日期常用的格式:
- yyyy-MM-dd
- yyyy/MM/dd
- yyyy年MM月dd日
- MM-dd-yyyy
- MM/dd/yyyy
- MM月dd日yyyy年
判断是否是闰年
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LeapYear {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份:");
String year = scanner.nextLine();
if(isLeapYear(year)){
System.out.println(year + "是闰年");
}else{
System.out.println(year + "不是闰年");
}
}
/**
* 判断是否是闰年
* @param year 年份
* @return boolean 返回是否为闰年,是返回true,否则返回false
*/
private static boolean isLeapYear(String year){
// 匹配格式为yyyy的数字
String regex = "^\\d{4}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(year);
if(matcher.matches()){
int yearInt = Integer.parseInt(year);
if(yearInt % 4 == 0 && yearInt % 100 != 0 || yearInt % 400 == 0){
return true;
}else{
return false;
}
}else{
return false;
}
}
}
判断两个日期的大小
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompareDate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个日期:");
String date1Str = scanner.nextLine();
System.out.print("请输入第二个日期:");
String date2Str = scanner.nextLine();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = null;
Date date2 = null;
try {
date1 = simpleDateFormat.parse(date1Str);
date2 = simpleDateFormat.parse(date2Str);
} catch (ParseException e) {
e.printStackTrace();
}
if(compareDate(date1, date2) == 1){
System.out.println(date1Str + "日期大于" + date2Str);
}else if(compareDate(date1, date2) == 0){
System.out.println(date1Str + "日期等于" + date2Str);
}else{
System.out.println(date1Str + "日期小于" + date2Str);
}
}
/**
* 对比两个日期的大小
* @param date1 日期1
* @param date2 日期2
* @return int 返回值为1表示date1>date2,返回值为0表示date1==date2,返回值为-1表示date1<date2
*/
private static int compareDate(Date date1, Date date2){
long time1 = date1.getTime();
long time2 = date2.getTime();
if(time1 > time2){
return 1;
}else if(time1 == time2){
return 0;
}else{
return -1;
}
}
}
以上两个示例分别展示了对时间日期判断的两个常用场景。通过正则表达式的匹配规则和Java的内置API,我们可以方便地实现这些常用的时间日期判断操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java基于正则表达式实现时间日期的常用判断操作实例 - Python技术站