淘先锋技术网

首页 1 2 3 4 5 6 7

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类则表示具体某个时间点。两者的使用需要灵活掌握。