在java中设置日历的日期或日期字符串

在java中设置日历的日期或日期字符串,java,date,calendar,Java,Date,Calendar,我有这样的代码 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), c

我有这样的代码

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,日历,9月28日)

而不是将日期设置为校准设置(2012年,日历9月28日)

为了动态明确,我想直接将数据库中的日期设置为“2012-09-27”或2012-09-27,直接设置为日历

我需要校准设置(“2012-09-27”) 或 我需要校准套件(2012-09-27)

相反,这样

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");
}
cal.set(2012年,日历9月28日)你看过吗

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

(请注意,如果您是从数据库中获取日期,那么它很可能会作为一个函数返回,您根本不需要解析它)

您看过了吗

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


(请注意,如果您是从数据库中获取日期,那么它很可能会返回为,并且您根本不需要解析它)

你为什么想得到答案?你为什么想得到答案?是的,你是对的,我从数据库中得到的日期是java.sql.Timestamp。我将只从该时间戳中检索2012-09-27。我需要将该日期设置为cal.set(2012-09-27);代替cal.set(2012年,日历9月28日);是的,你是对的,我从数据库中获取的日期为java.sql.Timestamp。我将仅从该时间戳中检索2012-09-27。我需要将该日期设置为cal.set(2012-09-27);代替cal.set(2012年,日历9月28日);