首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 相干日期处理类

2012-10-13 
java 相关日期处理类锁定老帖子?主题:java处理年、月、周次以及起至日期大全精华帖 (0) :: 良好帖 (0) :: 新

java 相关日期处理类

锁定老帖子?主题:java处理年、月、周次以及起至日期大全精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)作者正文

  • hxweb
  • 等级: 初级会员
  • java 相干日期处理类
  • 文章: 10
  • 积分: 30
  • 来自: ...
  • java 相干日期处理类?? 发表时间:2007-03-14??<?>?猎头职位:?北京:?ITeye网站诚聘Java高级搜索工程师相关文章:??
    • JAVA各种时间类型的取得
    • Calendar常用方法封装
    • Java获取各种常用时间方法
      推荐群组:?Groovy on Grails?
      更多相关推荐

      /*
      ?* 创建日期 2007-03-14
      ?*
      ?* 功能? 取日期时间工具
      ?*
      ?*/
      package com.util;

      import java.text.ParseException;
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.Calendar;
      import java.util.GregorianCalendar;

      /**
      * 说明:????? 取日期时间工具


      *
      * @author?? 好学蜘蛛
      * @author???haoxueweb@163.com
      * @version? 1.0
      * Company???http://freehost04.websamba.com/dudu178
      */
      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");

      ??? }

      }

热点排行