您的位置:

使用Calendar获取年月日

一、获取当前日期

获取当前日期是日常开发中最常用的操作之一。Calendar可以轻松获取当前日期,需要使用的类为java.util.Calendar。


Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

通过getInstance方法获取Calendar类的实例,然后分别调用get方法获取年、月、日的值。

二、获取指定日期

有时候需要获取指定日期的年月日,例如需要获取今天的明天的日期。可以通过设置Calendar类的时间,实现获取指定日期的目的。


Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

通过add方法设置时间偏移量,这里设置为1,即今天的明天。然后调用get方法获取年、月、日的值。

三、获取月末日期

获取月末日期是比较常见的需求之一,例如需要获取本月最后一天的日期。可以通过设置Calendar类的时间,实现获取月末日期的目的。


Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, 1);
calendar.roll(Calendar.DATE, -1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

首先使用set方法将日期设置为当月的第一天,然后使用roll方法将日期向前偏移一天,这样即可获取当月最后一天的日期。

四、获取某月第一天日期

有时候需要获取某月的第一天日期,可以通过设置Calendar类的时间,实现获取第一天日期的目的。


Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DATE, 1);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);

设置日期为当月的第一天后,即可获得某月的第一天日期。

五、获取指定日期所在周的第一天和最后一天日期

有时候需要获取指定日期所在周的第一天和最后一天日期,可以通过设置Calendar类的时间,实现获取周边日期的目的。


Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
Date firstDay = calendar.getTime();
calendar.add(Calendar.WEEK_OF_YEAR, 1);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
Date lastDay = calendar.getTime();

首先通过setTime方法设置指定日期,然后设置Calendar类的DAY_OF_WEEK为星期日,获取周的第一天日期。然后通过add方法将时间偏移一周,再将DAY_OF_WEEK设置为星期六,获取周的最后一天日期。

总结

通过Calendar类的使用,我们可以轻松地获取当前日期,获取指定日期,获取月末日期,获取某月第一天日期,获取指定日期所在周的第一天和最后一天日期。在开发过程中,了解并熟练掌握Calendar类的使用,可以为我们的开发带来许多便利和方便。