Java中提供了Calendar和Date两种类来处理日期和时间。不同于Date类只能表示某个具体时间点,Calendar可以表示一段时间内的相关信息。
在我们使用Calendar之前,需要首先获取一个实例化对象。可以使用Calendar的静态方法getInstance()来获得日历对象,也可以使用Calendar的子类(如GregorianCalendar)的构造方法来创建对象。
Calendar cal = Calendar.getInstance(); // 或者使用GregorianCalendar创建 Calendar cal2 = new GregorianCalendar();
我们可以使用Calendar来获取当前日期、时间的各个部分:
int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; //注意月份需要加1 int day = cal.get(Calendar.DAY_OF_MONTH); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND);
除了获取当前时间外,我们还可以通过设置Calendar的各个参数来构造特定的日期时间:
cal.set(Calendar.YEAR, 2021); cal.set(Calendar.MONTH, 8); // 九月份 cal.set(Calendar.DAY_OF_MONTH, 10); cal.set(Calendar.HOUR_OF_DAY, 14); cal.set(Calendar.MINUTE, 20); cal.set(Calendar.SECOND, 30);
而Date类则是用来表示一个时间点的,它包含一个long型数据,可以通过这个数据来表示自1970年1月1日0时0分0秒以来的毫秒数。我们同样可以使用Date类来获取当前时间:
Date now = new Date();
使用DateFormat类可以将Date对象格式化为指定字符串输出:
DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); String str = format.format(now); System.out.println("当前时间为:" + str);
总而言之,Calendar和Date类是Java中常用的日期时间处理类。Calendar可以表示一段时间内的相关信息,而Date类则表示具体某个时间点。两者的使用需要灵活掌握。