在《【Java】有关System.currentTimeMillis()的思考》(点击打开链接)中已经介绍过,如果利用System.currentTimeMillis()取出当前的时期。在Java中其实同样可以利用Calendar类来获取当前的日期。只是其取法比较繁琐,要分别取出当前的年、月、日、时、分、秒将其拼接起来。
如下的代码:
import java.util.Calendar;
import java.util.GregorianCalendar;
public class calendarTest {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
System.out.println(
"现在是:"+
calendar.get(GregorianCalendar.YEAR)+"年"+
(calendar.get(GregorianCalendar.MONTH)+1)+"月"+
calendar.get(GregorianCalendar.DAY_OF_MONTH)+"日"+
calendar.get(GregorianCalendar.HOUR)+"时"+
calendar.get(GregorianCalendar.MINUTE)+"分"+
calendar.get(GregorianCalendar.SECOND)+"秒"
);
}
}
运行结果如下:
可以看到,运行的结果与当前的时间是对应的。
而在上述的代码中,利用calendar.get(GregorianCalendar.XX)来分别取出年月日时分秒,不同于以往的calendar.get(Calendar.XXX),可以防止Eclipse出现警告。如果写成calendar.get(Calendar.XXX),在Eclipse中则会出现如下的提示:Calendar.xxx should be accessed in a static way。
同时,请注意,取当前月,必须对取出的结果+1,这才是正确的当前月。否则运行结果,总比当前月少1.
取当前日是calendar.get(GregorianCalendar.DAY_OF_MONTH),而不是calendar.get(GregorianCalendar.DAY)。