如何从不推荐使用的Date类型中替换getDate()?

Yur*_*uri 2 java calendar date getdate

我有一个现有的程序,我必须纠正.它包含以下行:

        Date startDate = new Date();
        int day = startDate.getDate() - 1;
Run Code Online (Sandbox Code Playgroud)

但是不推荐使用Date类型的getDate(),所以我必须使用Calender更改它.我试过这个:

Calendar startDate = Calendar.getInstance();
startDate.add(Calendar.DATE, -1);
int day= startDate.getTime();
Run Code Online (Sandbox Code Playgroud)

但这导致以下错误:

类型不匹配:无法从Date转换为int

Jav*_*Ops 6

另一个不错的选择是使用 like :

System.out.println(DateFormat.getDateInstance().format(new Date()));
Run Code Online (Sandbox Code Playgroud)

它将打印当前日期。

如果您需要时间和日期,那么您可以使用:

System.out.println(DateFormat.getDateTimeInstance().format(new Date()));
Run Code Online (Sandbox Code Playgroud)


Jur*_*ure 5

如果你想要每天使用这个:

int day= startDate.get(Calendar.DAY_OF_MONTH);
Run Code Online (Sandbox Code Playgroud)

如果你想每周都有这个:

int day= startDate.get(Calendar.DAY_OF_WEEK);
Run Code Online (Sandbox Code Playgroud)

一周中的一天也要小心,因为第0天是周日而不是星期一.

获取和设置的字段编号,表示星期几.此字段的值为SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY和SATURDAY.