0

我有这样的代码......

public static void main(String args[]) {
    Calendar cal = Calendar.getInstance();
    Calendar currentcal = Calendar.getInstance();

    cal.set(2012, Calendar.SEPTEMBER, 28);

    currentcal.set(currentcal.get(Calendar.YEAR),
            currentcal.get(Calendar.MONTH),
            currentcal.get(Calendar.DAY_OF_MONTH));
    if (cal.before(currentcal))
        System.out.print("before");
    else if (cal.after(currentcal))
        System.out.print("after");
    else
        System.out.print("Equal");
}

我的需要是我必须将日期设置为“2012-09-27”或 2012-09-27 到cal.set(2012, Calendar.SEPTEMBER, 28);

而不是将日期设置为cal.set(2012, Calendar.SEPTEMBER, 28);

动态明确意味着,我想直接将数据库中的日期(如“2012-09-27”或 2012-09-27)直接设置为日历。

我需要cal.set("2012-09-27"); 或者我需要cal.set(2012-09-27);

而是这样...

cal.set(2012, Calendar.SEPTEMBER, 28);

4

1 回答 1

3

你看过DateFormat.parse()吗?

您可以使用您希望解析的适当格式构造一个SimpleDateFormat,并且解析输入字符串的结果是一个java.util.Date.

(请注意,如果您从数据库中获取日期,那么它可能会以java.sql.Timestamp的形式返回,您根本不需要解析它)

于 2012-09-27T12:04:43.490 回答