Java 中获得当前年份和月份最大天数。
程序员文章站
2022-04-19 19:08:12
...
拿到当前月份最大天数,.这个需求用的非常之多。 解决的方法也很多种..
我做项目中用的最多的就是下面的这种:
//写个主方法测试;是否通过..
public static void main(String[] args) {
TestExtendedWorkHourApplication a = new TestExtendedWorkHourApplication();
//传入年份和月份,返回月份中最大的天数。
int monthMaxday = a.findMaxDayInMonth(2011, 3);
System.out.println(maxday);
}
//调用方法;传入年份和月份。
public static int findMaxDayInMonth(int year, int month) {
//得到Calendar实例对象。
Calendar calendar = Calendar.getInstance();
if (year > 0) {
calendar.set(Calendar.YEAR, year);
}
if (month > 0) {
calendar.set(Calendar.MONTH, month - 1);
}
return findMaxDayInMonth(calendar);
}
public static int findMaxDayInMonth(Calendar calendar) {
if (calendar == null) {
return 0;
}
//得到实际月份的最大天数。
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year 为 int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
//Calendar和Date的转化
(1) Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
(2) Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);
//格式化输出日期时间
Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time=df.format(date);
System.out.println(time);
4.计算一年中的第几星期
(1)计算某一天是一年中的第几星期
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH,;
cal.set(Calendar.DAY_OF_MONTH, 3);
int weekno=cal.get(Calendar.WEEK_OF_YEAR);
(2)计算一年中的第几星期是几号
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.WEEK_OF_YEAR, 1);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
输出:
2006-01-02
5.add()和roll()的用法(不太常用)
(1)add()方法
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH,;
cal.set(Calendar.DAY_OF_MONTH, 3);
cal.add(Calendar.DATE, -4);
Date date=cal.getTime();
System.out.println(df.format(date));
cal.add(Calendar.DATE, 4);
date=cal.getTime();
System.out.println(df.format(date));
输出:
2006-08-30
2006-09-03
上一篇: springboot配置文件详解
下一篇: TIJ......(三)