-3

这就是我在 java 中获取日期的方法:

Date date = (new GregorianCalendar(year,month - 1, i)).getTime(); // year,month,day
            SimpleDateFormat f = new SimpleDateFormat("EEEE");
            nameofday = f.format(date);

当我打印日期对象时,它给了我如下答案:

Sun Apr 01 00:00:00 IST 2012
Mon Apr 02 00:00:00 IST 2012
Tue Apr 03 00:00:00 IST 2012
Wed Apr 04 00:00:00 IST 2012
Thu Apr 05 00:00:00 IST 2012
Fri Apr 06 00:00:00 IST 2012
Sat Apr 07 00:00:00 IST 2012

从此我只想得到前一天:01,02,03,04,05等。

如何在java中做到这一点?

问候托尼

4

2 回答 2

6

如果要将日期作为数字,请使用:

int dayOfMonth = gregorianCalendarInstance.get(Calendar.DATE);

如果您想要一个类似 的字符串"05",请将您的日期格式更改为dd,即:

SimpleDateFormat f = new SimpleDateFormat("dd");
于 2012-05-30T07:22:09.873 回答
3

您的输出不是nameofday. 如果您打印nameofday,它将打印“星期六”或“星期五”。如果您希望月份中有两个字符,如SimpleDateFormat 的 javadoc 中所示,则必须使用"dd"该模式:

Date date = ...
DateFormat df = new SimpleDateFormat("dd");
System.out.println(df.format(date));

你真的应该学会阅读文档。

于 2012-05-30T07:29:12.377 回答