0
点赞
收藏
分享

微信扫一扫

Java8判断字符串是指定的日期格式


package com.huyu.nan;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Test {

	public static void main(String[] args) {

		DateTimeFormatter ldt = DateTimeFormatter.ofPattern("yyyyMMdd");

		boolean dateFlag = true;
		try {
			LocalDate.parse(str, ldt);
		} catch (DateTimeParseException | NullPointerException e) {
			dateFlag = false;
		}

		// 成功:true ;失败:false
		System.out.println("日期是否满足要求" + dateFlag);
	}

}

注意:上面的判断方法是不严格的,比如20190230会通过判断,但这个日期是不存在的。

严格方式:

package com.huyu.nan;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Test {

	public static void main(String[] args) {

		DateTimeFormatter ldt = DateTimeFormatter.ofPattern(format.replace("y", "u"))
                    .withResolverStyle(ResolverStyle.STRICT);

		boolean dateFlag = true;
		try {
			LocalDate.parse(str, ldt);
		} catch (DateTimeParseException | NullPointerException e) {
			dateFlag = false;
		}

		// 成功:true ;失败:false
		System.out.println("日期是否满足要求" + dateFlag);
	}

}

当然你也可以不用java8,用老方法判断:

package com.huyu.nan;

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class Test {

	public static void main(String[] args) {
		boolean dateFlag = true;
		try {
			SimpleDateFormat sdf = new SimpleDateFormat(format);
            sdf.setLenient(false);
            sdf.parse(str);
		} catch (ParseException | NullPointerException e) {
			dateFlag = false;
		}

		// 成功:true ;失败:false
		System.out.println("日期是否满足要求" + dateFlag);
	}

}

 

举报

相关推荐

0 条评论