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中的扩容的实例方法

    针对“数组在Java中的扩容的实例方法”,我们可以从以下几个方面进行讲解: 如何创建数组 数组扩容的实现原理 数组扩容的示例说明 一、如何创建数组 在Java中,创建一个数组可以通过以下方式来实现: int[] array = new int[10]; 上述代码中,我们声明了一个int类型的数组,且其大小为10,即创建了一个长度为10的int类型数组。 同时…

    Java 2023年5月26日
    00
  • 学习不同 Java.net 语言中类似的函数结构

    学习不同Java.net语言中类似的函数结构,可以遵循以下攻略: 第一步:了解Java.net语言中的常见函数结构 在Java.net语言中,常见的函数结构有方法的声明、方法的参数、方法的返回值等。方法的声明包括方法名、访问修饰符、返回值类型和方法的参数类型等。方法的参数包括形式参数、实际参数和默认值等。方法的返回值包括返回值类型、返回值关键字和返回值的值等…

    Java 2023年5月26日
    00
  • MySQL示例讲解数据库约束以及表的设计

    “MySQL示例讲解数据库约束以及表的设计”是一篇比较综合性的文章,内容在开始之前应该分章节引出。以下是我根据自己的经验和理解对这个主题进行的完整攻略。 1. 关于数据库约束 “数据库约束”是指在创建数据库表时,针对表内字段相关的行为限制和处理措施。常见的数据库约束有NOT NULL约束、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约…

    Java 2023年5月26日
    00
  • Java时间复杂度、空间复杂度的深入详解

    Java时间复杂度、空间复杂度的深入详解 什么是时间复杂度? 时间复杂度是对一个算法运行时间的度量,通常用大O符号表示。 常见的时间复杂度有: O(1):常数复杂度,运行时间和数据规模无关,如单次循环、赋值等; O(logn):对数复杂度,如二分查找; O(n):线性复杂度,与数据规模成正比,如遍历一次数组; O(n^2):平方复杂度,与数据规模的平方成正比…

    Java 2023年5月19日
    00
  • Java获取当前操作系统的信息实例代码

    获取当前操作系统的信息是Java程序开发中常用的功能,本文将介绍如何实现这一功能,并提供两个示例。 一、Java获取操作系统信息的方式 Java获取操作系统信息的方式有多种,以下列出常见的几种方式: 使用System.getProperty(“os.name”)方法获取操作系统的名称; 使用System.getProperty(“os.version”)方法…

    Java 2023年5月23日
    00
  • Spring Data JPA查询方式及方法名查询规则介绍

    Spring Data JPA查询方式及方法名查询规则介绍 Spring Data JPA是Spring Framework提供的一种简化数据访问层的方式。它通过提供一系列接口和实现来简化开发人员对数据库的访问,提高了开发效率。 Spring Data JPA提供了多种查询方式,包括查询方法名、使用@Query注解定义查询语句、使用Criteria API等…

    Java 2023年5月20日
    00
  • SSH框架网上商城项目第6战之基于DataGrid的数据显示

    SSH框架网上商城项目第6战之基于DataGrid的数据显示攻略 前言 DataGrid是EasyUI中极常用的组件之一,提供了方便、美观、易用的表格展示方式,因此在实际Web开发中也具有广泛的应用。 本文将向大家介绍如何基于SSH框架实现基于DataGrid的数据显示。 准备工作 在开始之前,需要准备以下内容: Eclipse IDE JDK 1.8 To…

    Java 2023年6月16日
    00
  • Java中数组的创建与传参方法(学习小结)

    下面我将详细讲解“Java中数组的创建与传参方法(学习小结)”的完整攻略。 一、Java中数组的创建 Java中数组是一组同类型数据元素的集合。数组中的每个元素可以通过索引来访问,索引从0开始,到数组长度减1为止。 1.1 声明数组 声明数组需要指定数组的类型和数组名。语法格式如下: type[] arrayName; 例如,声明一个整型数组 variabl…

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