`
yzhming
  • 浏览: 33044 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java得到当月天数

    博客分类:
  • java
 
阅读更多
1.使用calendar类实现
/**
* 取得当月天数
* */ 
public static int getCurrentMonthLastDay() 

    Calendar a = Calendar.getInstance(); 
    a.set(Calendar.DATE, 1);//把日期设置为当月第一天 
    a.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天 
    int maxDate = a.get(Calendar.DATE); 
    return maxDate; 

 
/**
* 得到指定月的天数
* */ 
public static int getMonthLastDay(int year, int month) 

    Calendar a = Calendar.getInstance(); 
    a.set(Calendar.YEAR, year); 
    a.set(Calendar.MONTH, month - 1); 
    a.set(Calendar.DATE, 1);//把日期设置为当月第一天 
    a.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天 
    int maxDate = a.get(Calendar.DATE); 
    return maxDate; 


2.使用自己编写的函数实现
package test; 
 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Date; 
 
/**
* 日期工具类 by hpf 
* */ 
public class DateUtils 

    //返回当前年月日 
    String getNowDate() 
    { 
        Date date = new Date(); 
        String nowDate = new SimpleDateFormat("yyyy年MM月dd日").format(date); 
        return nowDate; 
    } 
 
    //返回当前年份 
    int getYear() 
    { 
        Date date = new Date(); 
        String year = new SimpleDateFormat("yyyy").format(date); 
        return Integer.parseInt(year); 
    } 
 
    //返回当前月份 
    int getMonth() 
    { 
        Date date = new Date(); 
        String month = new SimpleDateFormat("MM").format(date); 
        return Integer.parseInt(month); 
    } 
 
    //判断闰年 
    boolean isLeap(int year) 
    { 
        if (((year % 100 == 0) && year % 400 == 0) || ((year % 100 != 0) && year % 4 == 0)) 
            return true; 
        else 
            return false; 
    } 
 
    //返回当月天数 
    int getDays(int year, int month) 
    { 
        int days; 
        int FebDay = 28; 
        if (isLeap(year)) 
            FebDay = 29; 
        switch (month) 
        { 
            case 1: 
            case 3: 
            case 5: 
            case 7: 
            case 8: 
            case 10: 
            case 12: 
                days = 31; 
                break; 
            case 4: 
            case 6: 
            case 9: 
            case 11: 
                days = 30; 
                break; 
            case 2: 
                days = FebDay; 
                break; 
            default: 
                days = 0; 
                break; 
        } 
        return days; 
    } 
 
    //返回当月星期天数 
    int getSundays(int year, int month) 
    { 
        int sundays = 0; 
        SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); 
        Calendar setDate = Calendar.getInstance(); 
        //从第一天开始 
        int day; 
        for (day = 1; day <= getDays(year, month); day++) 
        { 
            setDate.set(Calendar.DATE, day); 
            String str = sdf.format(setDate.getTime()); 
            if (str.equals("星期日")) 
            { 
                sundays++; 
            } 
        } 
        return sundays; 
    } 
 
    public static void main(String[] args) 
    { 
        DateUtils du = new DateUtils(); 
        System.out.println("今天日期是:" + du.getNowDate()); 
        System.out.println("本月有" + du.getDays(du.getYear(), du.getMonth()) + "天"); 
        System.out.println("本月有" + du.getSundays(du.getYear(), du.getMonth()) + "个星期天"); 
    } 
分享到:
评论

相关推荐

    根据年月得到当月的天数及日期

    根据年月得到当月的天数及日期,使用很方便。为需要的朋友奉献

    java代码-获取某月的最大天数

    java代码-获取某月的最大天数 ——学习参考资料:仅用于个人学习使用

    java 请假天数计算工具类

    分享之前做的一个oa请假天数计算工具类,有点伤脑筋,弄了好久,可以根据公司实际要求修改。

    Java获取各种常用时间方法

    获取当天时间 可以方便地修改日期格式 获得当前日期与本周日相差的天数 获得本周一的日期 获得相应周的周六的日期

    java中计算某个月的工作日总共几天

    java中,计算一个月总共有几天工作日,和都有哪天是工作日等问题。

    Java程序设计:输入年份月份,得到当月的日历

    Java程序设计:输入年份月份,得到当月的日历 有详细注释 一目了然

    基于Java语言编写的Spring Boot时间工具类方法封装

    基于Java语言编写的Spring Boot时间工具类方法封装,主要方法如下:根据日期获取该日期内24小时的整点时刻、获取当月的 天数、根据 年、月 获取对应的月份 的 天数、根据指定日期得获取对应月份的所有日期的每日结束...

    Java 工作日计算

    java日期计算简单实用方法如下: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); WorkdayUtils workdayUtils = new WorkdayUtils(); workdayUtils.setLegalWorkdayList(legalWorkdayList); ...

    编写JAVA程序,判断是否闰年,输出月份天数

    编写Java程序,输出1900年到2010年之间的所有润年,并从键盘上输入任意年月,输出该年是否闰年及这个月有多少天。

    javascript计算当月剩余天数(天数计算器)示例代码

    代码如下: 代码如下:[removed] &lt;!– Beginvar today = new Date();var now = today.getDate();var year = today.getYear();if (year &lt; 2000) year += 1900; // Y2K fixvar month = today.getMonth();...

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

    几个关于java日期的常用的函数的实例 得到系统当前时间 字符串转化为java.util.Date 获得给定日期的年份 获得给定日期的当月的天数等

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

    java编写的日历类程序,输入年份和月份,打印出该月的日历 都是在控制台下输入输出的 例如输入2011年9月份,会输出 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ……………………

    java计算工作时间除去节假日以及双休日

    主要为大家详细介绍了java计算工作时间除去节假日以及双休日的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAVA第二次课程作业

    JAVA第二次课程作业,为某公司编写一个工资支付系统,用于计算某一类员工的月薪。该公司共有四类员工:领固定月薪的(SalariedEmployee),计时取酬的(HourlyEmployee,如果一月工时超过160小时,则还需对额外的...

    java控制台实现可视化日历小程序

    主要为大家详细介绍了java控制台实现可视化日历小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    java基础题目 java面试题

    如何获取某个日期是当月的最后一天? public static void getLastDay(){ Calendar c=Calendar.getInstance(); c.set(Calendar.DAY_OF_MONTH,31); Calendar c1=(Calendar)c.clone(); c.add(Calendar.DAY_OF_...

    java编写的日历

    //月份天数数组,用来取得当月有多少天 // 1 2 3 4 5 6 7 8 9 10 11 12 private int[] mm={31,28,31,30,31,30,31,31,30,31,30,31}; //空日期构造函数 public JCalendar() { try { jbInit(); } catch(Exception e) {...

    java 经典习题.doc

    高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 【程序13】 题目:一个整数,它加上100后是一个...

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

    从控制台输入××××年××月,从控制台输出该月日历(已知1900年1月1日是星期一),请输入1900年1月1日以后的日期。

    JAVA时间处理类

    import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import org.apache....

Global site tag (gtag.js) - Google Analytics