如何从字符串构造日期



我必须比较if/else中的两个日期,当前日期和预定义日期(假设是2011年1月1日)。这应该是简单的,但我找不到方法来设置预定义的日期,如:

Java.util.Date date = new Date("2011-01-01");

如何比较两个日期?我真的不知道为什么这么复杂。

尝试:

import java.text.SimpleDateFormat;
import java.util.Date;
...
Date today = new Date();
Date predefined = new SimpleDateFormat("yyyy-MM-dd").parse("2011-01-01");
if(today.equals(predefined)) {
    ...
}

使用java.util.Calendar

Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, 2011);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.DATE, 1);
Date predefined = cal.getTime();
Date now = new Date();
if (now.after(predefined))
{
    // do something
}
else
{
    // do something else
}

或使用JodaTime

如何比较两个日期?我真不知道为什么这么复杂。

因为日历/日期/时间真的很难正确设置,而且Date(部分Calendar)的Java实现完全是火车残骸。

date.CompareTo(someOtherDate);

http://download.oracle.com/javase/1.4.2/docs/api/java/util/Date.html compareTo (java.util.Date)

相关内容

  • 没有找到相关文章

最新更新