`

Java 中获得当前年份和月份最大天数。

阅读更多
拿到当前月份最大天数,.这个需求用的非常之多。 解决的方法也很多种..
我做项目中用的最多的就是下面的这种:


//写个主方法测试;是否通过..
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 
 

 

分享到:
评论

相关推荐

    java编写的日历类程序,输入年份和月份,打印出该月的日历

    - 设置当前日期为指定年份和月份的第一天:`cd.set(year, month - 1, 1);` - 注意:`Calendar` 类的月份索引是从0开始的,因此实际月份需减1。 - 获取当前日期是一周中的第几天:`int week = cd.get(Calendar.DAY...

    万年历,输入年份月份,输出当月日历

    1. **日期处理**:在Java中,日期和时间的处理主要依赖于`java.util.Date`、`java.util.Calendar`以及Java 8引入的`java.time`包中的类。在这个程序中,我们需要计算从1900年1月1日到用户输入日期的总天数,以便确定...

    获取Python中当前月份的天数.zip

    在Python编程语言中,获取当前月份的天数是一项常见的任务,尤其在处理日期和时间相关的程序时。Python的标准库`calendar`提供了丰富的功能来处理日期和月份的信息。本篇文章将详细讲解如何使用Python来获取当前月份...

    计算天数 java练习

    2. **java.util.Calendar**: `Calendar`是`Date`的增强版,它提供了更丰富的功能,如增加或减少日期的年份、月份、天数等。首先创建一个`Calendar`实例,然后对其进行修改和查询: ```java Calendar calendar = ...

    Java中封装的全局日期处理工具类

    获取SimpleDateFormat 获取日期中的某数值。如获取月份 增加日期中某类型的某数值。...获得两个日期之间的连续日期.。 将时间转换为时间戳。 获取连续月份。 两个时间相差距离中文描述 。 比较两个时间的大小。

    Java日期工具类

    Java日期工具类 ...19、获得当前月份的第一天 20、获得当前月份的最后一天 21、获取上月的第一天 22、获取上月的最后一天 23、根据传入的日期返回前一季度字符串 24、根据传入的日期返回相应的季度 .......

    java 日期转化计算

    根据给定文件的信息,本文将深入探讨Java中与日期转换及计算相关的几个核心知识点:如何计算当前日期是年度中的第几周、确定某天是一周中的哪一天、日期的格式化处理、获取指定年份月份的具体日期以及如何获得当前...

    Java基于Calendar类输出指定年份和月份的日历代码实例

    Java基于Calendar类输出指定年份和月份的日历代码实例 本文主要介绍了Java使用Calendar类输出指定年份和月份的日历,通过示例代码详细介绍输出指定年份和月份的日历代码实例的实现过程。 Calendar类是Java中一个...

    java日历核心代码

    - 打印出当前年份和月份的标题。 - 根据星期几的位置来调整输出格式,确保每个星期的第一天都是对齐的。 - 按照星期的顺序打印出每月的每一天。 9. **用户交互**: - 在每次循环结束时询问用户是否继续查询其他...

    Java输出月份日历

    这在计算月份天数时非常重要,因为闰年的二月有29天而不是平年的28天。 6. 循环控制:在输出日历时,使用了两层嵌套循环。外层循环用于控制月份中每一周的输出,内层循环用于控制每天的输出。通过这种方式,可以...

    java中时间操作函数

    在上面的代码中,我们首先获取了当前的 `Calendar` 对象,然后清除了所有的字段,然后设置了年份和月份。最后,我们使用 `getActualMaximum` 方法来获取当前月份的最大天数。 Calendar 和 Date 的转化 在 Java 中...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    在给定的压缩包文件中,可能包含了关于如何使用`GregorianCalendar`来获取一年内特定月份的日历信息的练习代码,如`Exercise6_6.java`,以及可能的辅助文件`G`和`H`。 首先,`GregorianCalendar`类继承自抽象类`...

    JAVA编写的万年历源代码

    - 输出从1900年到当前年份之间的总天数(tianshuN)以及从1月到当前月份之间的总天数(tianshuY)。 #### 三、代码解析 1. **导入必要的包:** - `import java.util.*;` 导入Java标准库中的工具包,主要是为了...

    【Java精品】Java中Date各种相关用法.doc

    例如,`time.getActualMaximum(Calendar.DAY_OF_MONTH)`会返回给定年份和月份的最大天数。注意,月份是从0开始的,所以1月是`Calendar.JANUARY`,2月是`Calendar.FEBRUARY`,以此类推。 2. Calendar与Date之间的...

    java制作日历

    在Java编程中,创建一个类似Windows日历的功能是一项常见的任务,它可以用来显示当前日期、月份的天数,并允许用户选择不同的年份和月份。在这个过程中,我们主要涉及到以下几个Java技术点: 1. **Java日期和时间...

    输入年和月控制台输入日历

    为了正确地输出指定月份的日历,需要计算从1900年到指定年份之间的总天数以及指定月份之前的天数。这部分逻辑通过两个嵌套的循环完成: ```java for (int q = 1900; q ; q++) { if (A % 4 == 0 && A % 400 == 0 || ...

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    首先,将两个日期设置到`Calendar`对象中,然后通过比较它们的日期字段(`Calendar.DATE`)并考虑月份和年份的变化来计算差值。如果需要精确计算,可以使用`java.time`包中的`ChronoUnit.DAYS.between(date1, date2)...

    java日期格式函数的用法与实例

    通过学习和实践,我们可以方便地获取系统当前时间、将字符串转换为日期对象、获取日期的年份和月份天数,以及利用新API进行更高效的操作。在编写Java程序时,选择合适的日期处理方法可以提高代码的可读性和维护性。

    Java编写的万年历源代码

    月份天数输出 ```java switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.print(month + "月31天"); break; case 4: case 6: case 9: case 11: System.out....

    java中Calendar类制作日历

    在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一系列用于操作日期和时间的方法。然而,值得注意的是,`Calendar`类本身是一个抽象类,这意味着我们不能直接实例化它来创建一个对象。为了...

Global site tag (gtag.js) - Google Analytics