这字符串是符合指定日期格式的吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计289个文字,预计阅读时间需要2分钟。
javapackage 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) { LocalDate date=LocalDate.parse(2021-12-25, DateTimeFormatter.ISO_LOCAL_DATE); System.out.println(date); }}
packagecom.huyu.nan;importjava.time.LocalDate;importjava.time.format.DateTimeForpackage 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 ;失败:falseSystem.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 ;失败:falseSystem.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 ;失败:falseSystem.out.println("日期是否满足要求" dateFlag);}}
本文共计289个文字,预计阅读时间需要2分钟。
javapackage 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) { LocalDate date=LocalDate.parse(2021-12-25, DateTimeFormatter.ISO_LOCAL_DATE); System.out.println(date); }}
packagecom.huyu.nan;importjava.time.LocalDate;importjava.time.format.DateTimeForpackage 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 ;失败:falseSystem.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 ;失败:falseSystem.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 ;失败:falseSystem.out.println("日期是否满足要求" dateFlag);}}

