java 周次_java处理年、月、周次以及起至日期大全

这个Java类提供了获取当前日期、时间、按指定格式转换日期、计算日期差等功能,还包含了处理年份、月份、周次的方法,如获取指定日期的年、月、周次,计算某年某周的开始和结束日期等。
摘要由CSDN通过智能技术生成

import java.util.Calendar; /**  * Copyright 2009 XXX, Inc. All Rights Reserved.  * Class Test.java 说明  * @file Test.java  * @author wz-03016  * @created 2009-7-16  * @version v1.0  * @see .Test.java  * @revision  */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar; import java.util.GregorianCalendar; public class DateUtil {     public DateUtil(){}     /**      * @see     取得当前日期(格式为:yyyy-MM-dd)      * @return String      */     public String GetDate()     {         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");         String sDate = sdf.format(new Date());         return sDate;     }     /**      * @see     取得当前时间(格式为:yyy-MM-dd HH:mm:ss)      * @return String      */     public static String GetDateTime()     {         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         String sDate = sdf.format(new Date());         return sDate;     }     /**      * @see     按指定格式取得当前时间()      * @return String      */     public String GetTimeFormat(String strFormat)     {         SimpleDateFormat sdf = new SimpleDateFormat(strFormat);         String sDate = sdf.format(new Date());         return sDate;     }     /**      * @see     取得指定时间的给定格式()      * @return String      * @throws ParseException      */     public String SetDateFormat(String myDate,String strFormat) throws ParseException     {         SimpleDateFormat sdf = new SimpleDateFormat(strFormat);         String sDate = sdf.format(sdf.parse(myDate));         return sDate;     }     public String FormatDateTime(String strDateTime, String strFormat)     {         String sDateTime = strDateTime;         try {             Calendar Cal = parseDateTime(strDateTime);             SimpleDateFormat sdf = null;             sdf = new SimpleDateFormat(strFormat);             sDateTime = sdf.format(Cal.getTime());         } catch (Exception e) {         }         return sDateTime;     }     public static Calendar parseDateTime(String baseDate)     {         Calendar cal = null;         cal = new GregorianCalendar();         int yy = Integer.parseInt(baseDate.substring(0, 4));         int mm = Integer.parseInt(baseDate.substring(5, 7)) - 1;         int dd = Integer.parseInt(baseDate.substring(8, 10));         int hh = 0;         int mi = 0;         int ss = 0;         if(baseDate.length() > 12)         {             hh = Integer.parseInt(baseDate.substring(11, 13));             mi = Integer.parseInt(baseDate.substring(14, 16));             ss = Integer.parseInt(baseDate.substring(17, 19));         }         cal.set(yy, mm, dd, hh, mi, ss);         return cal;     }     public int getDay(String strDate)     {         Calendar cal = parseDateTime(strDate);         return  cal.get(Calendar.DATE);     }     public int getMonth(String strDate)     {         Calendar cal = parseDateTime(strDate);         return cal.get(Calendar.MONTH) + 1;     }     public int getWeekDay(String strDate)     {         Calendar cal = parseDateTime(strDate);         return cal.get(Calendar.DAY_OF_WEEK);     }     public String getWeekDayName(String strDate)     {         String mName[] = {             "日", "一", "二", "三", "四", "五", "六"         };         int iWeek = getWeekDay(strDate);         iWeek = iWeek - 1;         return "星期" + mName[iWeek];     }     public int getYear(String strDate)     {         Calendar cal = parseDateTime(strDate);         return cal.get(Calendar.YEAR) + 1900;     }     public String DateAdd(String strDate, int iCount, int iType)     {         Calendar Cal = parseDateTime(strDate);         int pType = 0;         if(iType == 0)         {             pType = 1;         } else         if(iType == 1)         {             pType = 2;         } else         if(iType == 2)         {             pType = 5;         } else         if(iType == 3)         {             pType = 10;         } else         if(iType == 4)         {             pType = 12;         } else         if(iType == 5)         {             pType = 13;         }         Cal.add(pType, iCount);         SimpleDateFormat sdf = null;         if(iType <= 2)             sdf = new SimpleDateFormat("yyyy-MM-dd");         else             sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");         String sDate = sdf.format(Cal.getTime());         return sDate;     }     public String DateAdd(String strOption, int iDays, String strStartDate)     {         if(!strOption.equals("d"));         return strStartDate;     }     public int DateDiff(String strDateBegin, String strDateEnd, int iType)     {         Calendar calBegin = parseDateTime(strDateBegin);         Calendar calEnd = parseDateTime(strDateEnd);         long lBegin = calBegin.getTimeInMillis();         long lEnd = calEnd.getTimeInMillis();         int ss = (int)((lBegin - lEnd) / 1000L);         int min = ss / 60;         int hour = min / 60;         int day = hour / 24;         if(iType == 0)             return hour;         if(iType == 1)             return min;         if(iType == 2)             return day;         else             return -1;     }        /*****************************************      * @功能     判断某年是否为闰年      * @return  boolean      * @throws ParseException      ****************************************/     public boolean isLeapYear(int yearNum){      boolean isLeep = false;         /**判断是否为闰年,赋值给一标识符flag*/         if((yearNum % 4 == 0) && (yearNum % 100 != 0)){          isLeep = true;         }  else if(yearNum % 400 ==0){          isLeep = true;         } else {          isLeep = false;         }         return isLeep;     }         /*****************************************      * @功能     计算当前日期某年的第几周      * @return  interger      * @throws ParseException      ****************************************/     public int getWeekNumOfYear(){      Calendar calendar = Calendar.getInstance();      int iWeekNum = calendar.get(Calendar.WEEK_OF_YEAR);      return iWeekNum;     }     /*****************************************      * @功能     计算指定日期某年的第几周      * @return  interger      * @throws ParseException      ****************************************/     public int getWeekNumOfYearDay(String strDate ) throws ParseException{      Calendar calendar = Calendar.getInstance();      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");      Date curDate = format.parse(strDate);      calendar.setTime(curDate);      int iWeekNum = calendar.get(Calendar.WEEK_OF_YEAR);      return iWeekNum;     }     /*****************************************      * @功能     计算某年某周的开始日期      * @return  interger      * @throws ParseException      ****************************************/     public String getYearWeekFirstDay(int yearNum,int weekNum) throws ParseException {           Calendar cal = Calendar.getInstance();      cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum);      cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);      //分别取得当前日期的年、月、日      String tempYear = Integer.toString(yearNum);      String tempMonth = Integer.toString(cal.get(Calendar.MONTH) + 1);      String tempDay = Integer.toString(cal.get(Calendar.DATE));      String tempDate = tempYear + "-" +tempMonth + "-" + tempDay;      return SetDateFormat(tempDate,"yyyy-MM-dd");          }     /*****************************************      * @功能     计算某年某周的结束日期      * @return  interger      * @throws ParseException      ****************************************/     public String getYearWeekEndDay(int yearNum,int weekNum) throws ParseException {      Calendar cal = Calendar.getInstance();      cal.set(Calendar.YEAR, yearNum);      cal.set(Calendar.WEEK_OF_YEAR, weekNum + 1);      cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);         //分别取得当前日期的年、月、日      String tempYear = Integer.toString(yearNum);      String tempMonth = Integer.toString(cal.get(Calendar.MONTH) + 1);      String tempDay = Integer.toString(cal.get(Calendar.DATE));      String tempDate = tempYear + "-" +tempMonth + "-" + tempDay;      return SetDateFormat(tempDate,"yyyy-MM-dd");     }           /*****************************************      * @功能     计算某年某月的开始日期      * @return  interger      * @throws ParseException      ****************************************/     public String getYearMonthFirstDay(int yearNum,int monthNum) throws ParseException {           //分别取得当前日期的年、月、日      String tempYear = Integer.toString(yearNum);      String tempMonth = Integer.toString(monthNum);      String tempDay = "1";      String tempDate = tempYear + "-" +tempMonth + "-" + tempDay;      return SetDateFormat(tempDate,"yyyy-MM-dd");          }     /*****************************************      * @功能     计算某年某月的结束日期      * @return  interger      * @throws ParseException      ****************************************/     public String getYearMonthEndDay(int yearNum,int monthNum) throws ParseException {             //分别取得当前日期的年、月、日      String tempYear = Integer.toString(yearNum);      String tempMonth = Integer.toString(monthNum);      String tempDay = "31";      if (tempMonth.equals("1") || tempMonth.equals("3") || tempMonth.equals("5") || tempMonth.equals("7") ||tempMonth.equals("8") || tempMonth.equals("10") ||tempMonth.equals("12")) {       tempDay = "31";      }      if (tempMonth.equals("4") || tempMonth.equals("6") || tempMonth.equals("9")||tempMonth.equals("11")) {       tempDay = "30";      }      if (tempMonth.equals("2")) {       if (isLeapYear(yearNum)) {        tempDay = "29";       } else {          tempDay = "28";       }      }      //System.out.println("tempDay:" + tempDay);      String tempDate = tempYear + "-" +tempMonth + "-" + tempDay;      return SetDateFormat(tempDate,"yyyy-MM-dd");     } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值