Java 如何检查日期是否在今天之后
我正在检查用户输入的日期是否在今天之后。这是我的密码:Java 如何检查日期是否在今天之后,java,date,parsing,simpledateformat,Java,Date,Parsing,Simpledateformat,我正在检查用户输入的日期是否在今天之后。这是我的密码: SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date enteredDate = sdf.parse(date); Date currentDate = new Date(); if(enteredDate.after(currentDate)){ 日期是一个变量,用户日期的格式为“2016/04/26”。在进行一些调试之后,我发现enteredDate和curre
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date enteredDate = sdf.parse(date);
Date currentDate = new Date();
if(enteredDate.after(currentDate)){
日期是一个变量,用户日期的格式为“2016/04/26”。在进行一些调试之后,我发现enteredDate和currentDate为null。你知道为什么吗?
谢谢java date类有before和after方法,您可以使用一个很好的例子
`import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.ParseException;
public class App
{
public static void main( String[] args )
{
try{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2009-12-31");
Date date2 = sdf.parse("2010-01-31");
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
if(date1.compareTo(date2)>0){
System.out.println("Date1 is after Date2");
}else if(date1.compareTo(date2)<0){
System.out.println("Date1 is before Date2");
}else if(date1.compareTo(date2)==0){
System.out.println("Date1 is equal to Date2");
}else{
System.out.println("How to get here?");
}
}catch(ParseException ex){
ex.printStackTrace();
}
}
}`
`import java.text.simpleDataFormat;
导入java.util.Date;
导入java.text.ParseException;
公共类应用程序
{
公共静态void main(字符串[]args)
{
试一试{
SimpleDataFormat sdf=新SimpleDataFormat(“yyyy-MM-dd”);
Date date1=sdf.parse(“2009-12-31”);
日期2=sdf.parse(“2010-01-31”);
System.out.println(sdf.format(date1));
System.out.println(sdf.format(date2));
如果(日期1.与(日期2)相比>0){
System.out.println(“日期1在日期2之后”);
}否则,如果注释中提到的(date1.compareTo(date2),则日期对象不可能具有null引用。但是,如果sdf.parse(Date)抛出一个被抑制的异常,则enteredDate可能为null
String date="2016/04/26";
Date enteredDate=null;
try
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
enteredDate = sdf.parse(date);
}catch (Exception ex)
{
// enteredDate will be null if date="287686";
}
Date currentDate = new Date();
if(enteredDate.after(currentDate)){
System.out.println("after ");
}else
System.out.println("before");
currentDate不能为空。请创建一个。在Date currentDate=new Date()
之后,变量currentDate
在我的计算机上是null
?(提示:不可能是…),日期为“2016/04/26”
,工作正常。currentDate在此上下文中不可能为null。这里,如果enteredDate变量为null[即enteredDate.after(new Date())],代码将抛出NullPointerException。我向他解释了如何避免null引用,因为op没有在其调用sdf.parse(Date)的代码中指定日期值;
String date="2016/04/26";
Date enteredDate=null;
try
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
enteredDate = sdf.parse(date);
}catch (Exception ex)
{
// enteredDate will be null if date="287686";
}
Date currentDate = new Date();
if(enteredDate.after(currentDate)){
System.out.println("after ");
}else
System.out.println("before");