java中如何判断输入的日期是否合法?

Python014

java中如何判断输入的日期是否合法?,第1张

java.text.DateFormat dateFormat= new java.text.SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH)

dateFormat.setLenient(false)

java.util.Date timeDate = dateFormat.parse(dateString)

//转换为util类型

看到dateFormat.setLenient(false)没有,设定其为false就是强制判断是否非法日期,不让系统自动转换,否则2月31号系统会自动转换为3月2号或者3号。

Date date=…… //实例化

if(date==null){

System.out.println("date为空")

}else{

System.out.println("date不为空")

}

一、使用Date类创建日期对象

Date date1 = new Date(2017, 5, 20)

二、通过Calendar获得当前日期

Date now

Calendar c = Calendar.getInstance()

now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH))

三、使用Date类的after()方法判断一个日期是否在另一个日期的后面

if(date1.after(now)) {

System.out.println("超过了今天")

}

else {

System.out.println("没有超过今天")

}

四、完整的Java程序

import java.util.Calendar

import java.util.Date

public class Main {

public static void main(String[] args) {

Date date1 = new Date(2017, 5, 20)

Date now

Calendar c = Calendar.getInstance()

now = new Date(c.get(Calendar.YEAR), c.get(Calendar.MONTH) + 1, c.get(Calendar.DAY_OF_MONTH))

if(date1.after(now)) {

System.out.println("超过了今天")

}

else {

System.out.println("没有超过今天")

}

}

}

五、运行测试

没有超过今天