java得到当月天数_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2179 | 回复: 0   主题: java得到当月天数        下一篇 
    本主题由 hui.chen 于 2015-7-30 15:23:14 移动
shijian111
注册用户
等级:新兵
经验:46
发帖:58
精华:0
注册:2012-2-15
状态:离线
发送短消息息给shijian111 加好友    发送短消息息给shijian111 发消息
发表于: IP:您无权察看 2015-7-28 17:27:49 | [全部帖] [楼主帖] 楼主

1.使用calendar类实现

/**

 * 取得当月天数

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

 * 得到指定月的天数

 * */
publicstaticint 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;
publicclass 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))
            returntrue;
            else
            returnfalse;
      }
      //返回当月天数
      int getDays(int year, int month)
      {
            int days;
            int FebDay = 28;
            if (isLeap(year))
            FebDay = 29;
            switch (month)
            {
                  case1:
                  case3:
                  case5:
                  case7:
                  case8:
                  case10:
                  case12:
                  days = 31;
                  break;
                  case4:
                  case6:
                  case9:
                  case11:
                  days = 30;
                  break;
                  case2:
                  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;
      }
      publicstaticvoid 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()) + "个星期天");
      }
}

--转自 北京联动北方科技有限公司

该贴由hui.chen转至本版2015-7-30 15:23:14




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论