Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengesahkan sama ada format masa adalah betul dalam Java

Bagaimana untuk mengesahkan sama ada format masa adalah betul dalam Java

WBOY
WBOYke hadapan
2023-04-19 17:19:074978semak imbas

Dalam banyak senario, kita perlu mengesahkan sama ada masa dan tarikh berada dalam format yang betul, dan sama ada masa itu mematuhi yang konvensional.

1 Sahkan tarikh dalam format yyyy-MM-dd HH:mm:dd

String date = "2020-01-25 12:36:45";
System.out.println("date "+isLegalDate(date.length(),date,"yyyy-MM-dd HH:mm:ss"));

2. Sahkan tarikh dalam format yyyy-MM-dd

String yearMonthday = "2020-01-01";
System.out.println("yearMonthday: "+isLegalDate(yearMonthday.length(),yearMonthday,"yyyy-MM-dd"));

3. Sahkan tarikh dalam format yyyy-MM

String yearMonth = "2020-02";
System.out.println("yearMonth: "+isLegalDate(yearMonth.length(),yearMonth,"yyyy-MM"));

4. Sahkan tarikh dalam format yyyy

 String year = "2020";
 System.out.println("year: "+isLegalDate(year.length(),year,"yyyy"));

5. mm:ss format

String hms = "12:36:89";
System.out.println("hms: "+isLegalDate(hms.length(),hms,"HH:mm:ss"));

6 Berikut ialah kelas kaedah lengkap yang boleh dijalankan terus untuk mengesahkan sama ada format tarikh adalah betul

package com.shucha.deveiface.biz.test;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * @author tqf
 * @Description  时间格式校验
 * @Version 1.0
 * @since 2020-09-15 16:49
 */
public class IsLegalDate {
 
 
    public static void main(String[] args) {
        //1、验证 yyyy-MM-dd HH:mm:dd 格式的日期
        String date = "2020-01-25 12:36:45";
        System.out.println("date "+isLegalDate(date.length(),date,"yyyy-MM-dd HH:mm:ss"));
 
        //2、验证 yyyy-MM-dd 格式的日期
        String yearMonthday = "2020-01-01";
        System.out.println("yearMonthday: "+isLegalDate(yearMonthday.length(),yearMonthday,"yyyy-MM-dd"));
 
        //3、验证 yyyy-MM 格式的日期
        String yearMonth = "2020-02";
        System.out.println("yearMonth: "+isLegalDate(yearMonth.length(),yearMonth,"yyyy-MM"));
 
        //4、验证 yyyy 格式的日期
        String year = "2020";
        System.out.println("year: "+isLegalDate(year.length(),year,"yyyy"));
 
        //5、验证 HH:mm:ss 格式的日期
        String hms = "12:36:89";
        System.out.println("hms: "+isLegalDate(hms.length(),hms,"HH:mm:ss"));
 
 
 
 
    }
 
    /**
     * 根据时间 和时间格式 校验是否正确
     * @param length 校验的长度
     * @param sDate 校验的日期
     * @param format 校验的格式
     * @return
     */
    public static boolean isLegalDate(int length, String sDate,String format) {
        int legalLen = length;
        if ((sDate == null) || (sDate.length() != legalLen)) {
            return false;
        }
        DateFormat formatter = new SimpleDateFormat(format);
        try {
            Date date = formatter.parse(sDate);
            return sDate.equals(formatter.format(date));
        } catch (Exception e) {
            return false;
        }
    }
}

Berikut ialah tangkapan skrin selepas. pengesahan masa

Bagaimana untuk mengesahkan sama ada format masa adalah betul dalam Java

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada format masa adalah betul dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam