java返回星期几而不是月份

Fes*_*ubt 1 java date gregorian-calendar

注意:是的,我意识到使用简单的日期格式可能比我当前的系统更好,但我发现这比使用简单的日期格式更容易.

此代码应该只返回保存为dd/mm/yyyy的日期,并且对于2013年1月1日的贷款日期这样做,但是对于dueBack日期,它返回22/4/2013,它应该返回22/1/2013.

public String returnLoan()
{
    String dLoan = loan.get(loan.DAY_OF_MONTH) + "/" 
                     + loan.get(loan.MONTH + 1) + "/" 
                     + loan.get(loan.YEAR);
    return dLoan;
}

public String returnDueBack()
{
    String dDueBack = dueBack.get(dueBack.DAY_OF_MONTH) + "/" 
                        + dueBack.get(dueBack.MONTH + 1) + "/" 
                        + dueBack.get(dueBack.YEAR);
    return dDueBack;
}
Run Code Online (Sandbox Code Playgroud)

作为参考,这是构造函数

public Loan()
{
    memID = 0;
    bookID = 0;
    loan = new GregorianCalendar(2013, 0, 1);
    dueBack = new GregorianCalendar(2013, 0, 22);
    returned = false;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

Hen*_*nry 9

代替

dueBack.get(dueBack.MONTH + 1)
Run Code Online (Sandbox Code Playgroud)

使用

dueBack.get(dueBack.MONTH) + 1
Run Code Online (Sandbox Code Playgroud)

  • @Cruncher新的`java.time`包基于流行的[Joda Time](http://www.joda.org/joda-time/)库.如果您不能使用Java 8,那么如果您需要对日期和时间进行任何操作,我强烈建议您使用Joda Time.它的API比`java.util.Date`和`java.util.Calendar`提供的要好得多. (2认同)