java基于正则表达式实现时间日期的常用判断操作实例

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技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java中操作数组的Arrays类

    首先,我们需要知道Arrays类是Java中用于操作数组的一个工具类。Arrays类提供了一系列方法用来对数组进行常见的操作,如排序、查找、复制等等。 数组排序 数组排序是我们在实际开发中经常会遇到的一个问题,Java中提供了一些常用的排序算法,如冒泡排序、选择排序等等,Arrays类中提供了很多现成的排序方法,我们只需要简单地调用即可。 下面以sort方法…

    Java 2023年5月26日
    00
  • Spring Security permitAll()不允许匿名访问的操作

    在Spring Security中,permitAll()方法用于指定某些URL路径不需要任何身份验证即可访问,但如果需要对某些操作进行授权,例如限制只有管理员才能访问,需要使用其他方法进行配置。如果只使用permitAll()方法,可能会因为某些操作不允许匿名访问而导致访问被拒绝的问题。 以下是详细的攻略: 1.理解 Spring Security 中的匿…

    Java 2023年5月20日
    00
  • Java经典面试题最全汇总208道(一)

    Java经典面试题最全汇总208道(一)是一篇非常详细的关于Java面试题的攻略文档。本文共分为以下几个部分: Java基础 集合 多线程 JVM Spring 设计模式 网络编程 数据库 每个部分都细致的从概念到实例进行了详细的说明。下面将对每个部分进行简要的介绍。 Java基础 Java基础部分主要介绍了Java的概念、特性、数据类型等。还包括了关于对象…

    Java 2023年5月23日
    00
  • 在Spring Boot中使用Spring-data-jpa实现分页查询

    下面是在Spring Boot中使用Spring-data-jpa实现分页查询的完整攻略。 步骤一:添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s…

    Java 2023年5月20日
    00
  • JSP运行原理和九大隐式对象说明

    JSP(Java Server Pages)是一种动态生成Web页面的技术,它将Java代码嵌入到HTML页面中,通过服务器解析Java代码并生成HTML页面,以此实现动态网页的生成。下面将详细讲解JSP的运行原理以及九大隐式对象。 JSP运行原理 首先,客户端向服务器发出请求,请求访问JSP页面。 服务器通过JSP的容器,将JSP文件转换成Servlet并…

    Java 2023年6月15日
    00
  • Ajax分页插件Pagination从前台jQuery到后端java总结

    我来为你分享“Ajax分页插件Pagination从前台jQuery到后端java总结”的完整攻略。 1. 背景 在网站中,有些内容需要分页展示,这时候就需要使用Ajax分页插件。本文将介绍一种从前台jQuery到后端Java的分页插件实现。 2. 插件介绍 这里介绍一个比较常用的jQuery分页插件——Pagination。它简单易用,可以很容易地被集成到…

    Java 2023年5月26日
    00
  • WebService教程详解(一)

    “WebService教程详解(一)”是一篇关于Web服务的教程。本文的内容主要包括以下几部分: 一、Web服务简介 这一部分介绍了Web服务的概念和原理。其中,Web服务是指在Web上使用标准化协议进行通信的应用程序。Web服务的原理是通过HTTP协议进行通信,使用XML格式进行数据交换。 二、Web服务的类型 这一部分介绍了Web服务的四种类型:SOAP…

    Java 2023年5月26日
    00
  • Java实现茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)

    首先我们需要明确这个系统的功能和技术栈:Java实现茶叶售卖商城系统,技术栈包括Java、SSM框架、 JSP、EasyUI以及MySQL数据库。 下面将从需求分析、技术环境搭建、功能实现和项目测试等方面来进行讲解这个系统的攻略: 一、需求分析 在开始搭建系统之前,我们需要对系统的需求进行彻底的分析和定义,这样才能更好地实现系统的功能。 基于需求分析,我们可…

    Java 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部