黑马程序员--日期类

  1.       ------android培训、java培训期待与您交流! ---------
  2. /** 
  3. 日期类 
  4. * @date   
  5. * @version 1.0 
  6. */  
  7. import java.util.*;  
  8. import java.text.*;  
  9. import java.util.Calendar;  
  10.    
  11. public class VeDate {  
  12.  /** 
  13.   * 获取现在时间 
  14.   * 
  15.   * @return 返回时间类型 yyyy-MM-dd HH:mm:ss 
  16.   */  
  17.  public static Date getNowDate() {  
  18.   Date currentTime = new Date();  
  19.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  20.   String dateString = formatter.format(currentTime);  
  21.   ParsePosition pos = new ParsePosition(8);  
  22.   Date currentTime_2 = formatter.parse(dateString, pos);  
  23.   return currentTime_2;  
  24.  }  
  25.    
  26.  /** 
  27.   * 获取现在时间 
  28.   * 
  29.   * @return返回短时间格式 yyyy-MM-dd 
  30.   */  
  31.  public static Date getNowDateShort() {  
  32.   Date currentTime = new Date();  
  33.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  34.   String dateString = formatter.format(currentTime);  
  35.   ParsePosition pos = new ParsePosition(8);  
  36.   Date currentTime_2 = formatter.parse(dateString, pos);  
  37.   return currentTime_2;  
  38.  }  
  39.    
  40.  /** 
  41.   * 获取现在时间 
  42.   * 
  43.   * @return返回字符串格式 yyyy-MM-dd HH:mm:ss 
  44.   */  
  45.  public static String getStringDate() {  
  46.   Date currentTime = new Date();  
  47.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  48.   String dateString = formatter.format(currentTime);  
  49.   return dateString;  
  50.  }  
  51.    
  52.  /** 
  53.   * 获取现在时间 
  54.   * 
  55.   * @return 返回短时间字符串格式yyyy-MM-dd 
  56.   */  
  57.  public static String getStringDateShort() {  
  58.   Date currentTime = new Date();  
  59.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  60.   String dateString = formatter.format(currentTime);  
  61.   return dateString;  
  62.  }  
  63.    
  64.  /** 
  65.   * 获取时间 小时:分;秒 HH:mm:ss 
  66.   * 
  67.   * @return 
  68.   */  
  69.  public static String getTimeShort() {  
  70.   SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");  
  71.   Date currentTime = new Date();  
  72.   String dateString = formatter.format(currentTime);  
  73.   return dateString;  
  74.  }  
  75.    
  76.  /** 
  77.   * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss 
  78.   * 
  79.   * @param strDate 
  80.   * @return 
  81.   */  
  82.  public static Date strToDateLong(String strDate) {  
  83.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  84.   ParsePosition pos = new ParsePosition(0);  
  85.   Date strtodate = formatter.parse(strDate, pos);  
  86.   return strtodate;  
  87.  }  
  88.    
  89.  /** 
  90.   * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss 
  91.   * 
  92.   * @param dateDate 
  93.   * @return 
  94.   */  
  95.  public static String dateToStrLong(java.util.Date dateDate) {  
  96.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  97.   String dateString = formatter.format(dateDate);  
  98.   return dateString;  
  99.  }  
  100.    
  101.  /** 
  102.   * 将短时间格式时间转换为字符串 yyyy-MM-dd 
  103.   * 
  104.   * @param dateDate 
  105.   * @param k 
  106.   * @return 
  107.   */  
  108.  public static String dateToStr(java.util.Date dateDate) {  
  109.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  110.   String dateString = formatter.format(dateDate);  
  111.   return dateString;  
  112.  }  
  113.    
  114.  /** 
  115.   * 将短时间格式字符串转换为时间 yyyy-MM-dd 
  116.   * 
  117.   * @param strDate 
  118.   * @return 
  119.   */  
  120.  public static Date strToDate(String strDate) {  
  121.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  122.   ParsePosition pos = new ParsePosition(0);  
  123.   Date strtodate = formatter.parse(strDate, pos);  
  124.   return strtodate;  
  125.  }  
  126.    
  127.  /** 
  128.   * 得到现在时间 
  129.   * 
  130.   * @return 
  131.   */  
  132.  public static Date getNow() {  
  133.   Date currentTime = new Date();  
  134.   return currentTime;  
  135.  }  
  136.    
  137.  /** 
  138.   * 提取一个月中的最后一天 
  139.   * 
  140.   * @param day 
  141.   * @return 
  142.   */  
  143.  public static Date getLastDate(long day) {  
  144.   Date date = new Date();  
  145.   long date_3_hm = date.getTime() - 3600000 * 34 * day;  
  146.   Date date_3_hm_date = new Date(date_3_hm);  
  147.   return date_3_hm_date;  
  148.  }  
  149.    
  150.  /** 
  151.   * 得到现在时间 
  152.   * 
  153.   * @return 字符串 yyyyMMdd HHmmss 
  154.   */  
  155.  public static String getStringToday() {  
  156.   Date currentTime = new Date();  
  157.   SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");  
  158.   String dateString = formatter.format(currentTime);  
  159.   return dateString;  
  160.  }  
  161.    
  162.  /** 
  163.   * 得到现在小时 
  164.   */  
  165.  public static String getHour() {  
  166.   Date currentTime = new Date();  
  167.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  168.   String dateString = formatter.format(currentTime);  
  169.   String hour;  
  170.   hour = dateString.substring(1113);  
  171.   return hour;  
  172.  }  
  173.    
  174.  /** 
  175.   * 得到现在分钟 
  176.   * 
  177.   * @return 
  178.   */  
  179.  public static String getTime() {  
  180.   Date currentTime = new Date();  
  181.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  182.   String dateString = formatter.format(currentTime);  
  183.   String min;  
  184.   min = dateString.substring(1416);  
  185.   return min;  
  186.  }  
  187.    
  188.  /** 
  189.   * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。 
  190.   * 
  191.   * @param sformat 
  192.   *            yyyyMMddhhmmss 
  193.   * @return 
  194.   */  
  195.  public static String getUserDate(String sformat) {  
  196.   Date currentTime = new Date();  
  197.   SimpleDateFormat formatter = new SimpleDateFormat(sformat);  
  198.   String dateString = formatter.format(currentTime);  
  199.   return dateString;  
  200.  }  
  201.    
  202.  /** 
  203.   * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟 
  204.   */  
  205.  public static String getTwoHour(String st1, String st2) {  
  206.   String[] kk = null;  
  207.   String[] jj = null;  
  208.   kk = st1.split(":");  
  209.   jj = st2.split(":");  
  210.   if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))  
  211.    return "0";  
  212.   else {  
  213.    double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;  
  214.    double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;  
  215.    if ((y - u) > 0)  
  216.     return y - u + "";  
  217.    else  
  218.     return "0";  
  219.   }  
  220.  }  
  221.    
  222.  /** 
  223.   * 得到二个日期间的间隔天数 
  224.   */  
  225.  public static String getTwoDay(String sj1, String sj2) {  
  226.   SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");  
  227.   long day = 0;  
  228.   try {  
  229.    java.util.Date date = myFormatter.parse(sj1);  
  230.    java.util.Date mydate = myFormatter.parse(sj2);  
  231.    day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);  
  232.   } catch (Exception e) {  
  233.    return "";  
  234.   }  
  235.   return day + "";  
  236.  }  
  237.    
  238.  /** 
  239.   * 时间前推或后推分钟,其中JJ表示分钟. 
  240.   */  
  241.  public static String getPreTime(String sj1, String jj) {  
  242.   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  243.   String mydate1 = "";  
  244.   try {  
  245.    Date date1 = format.parse(sj1);  
  246.    long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;  
  247.    date1.setTime(Time * 1000);  
  248.    mydate1 = format.format(date1);  
  249.   } catch (Exception e) {  
  250.   }  
  251.   return mydate1;  
  252.  }  
  253.    
  254.  /** 
  255.   * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数 
  256.   */  
  257.  public static String getNextDay(String nowdate, String delay) {  
  258.   try{  
  259.   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
  260.   String mdate = "";  
  261.   Date d = strToDate(nowdate);  
  262.   long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;  
  263.   d.setTime(myTime * 1000);  
  264.   mdate = format.format(d);  
  265.   return mdate;  
  266.   }catch(Exception e){  
  267.    return "";  
  268.   }  
  269.  }  
  270.    
  271.  /** 
  272.   * 判断是否润年 
  273.   * 
  274.   * @param ddate 
  275.   * @return 
  276.   */  
  277.  public static boolean isLeapYear(String ddate) {  
  278.    
  279.   /** 
  280.    * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年 
  281.    * 3.能被4整除同时能被100整除则不是闰年 
  282.    */  
  283.   Date d = strToDate(ddate);  
  284.   GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();  
  285.   gc.setTime(d);  
  286.   int year = gc.get(Calendar.YEAR);  
  287.   if ((year % 400) == 0)  
  288.    return true;  
  289.   else if ((year % 4) == 0) {  
  290.    if ((year % 100) == 0)  
  291.     return false;  
  292.    else  
  293.     return true;  
  294.   } else  
  295.    return false;  
  296.  }  
  297.    
  298.  /** 
  299.   * 返回美国时间格式 26 Apr 2006 
  300.   * 
  301.   * @param str 
  302.   * @return 
  303.   */  
  304.  public static String getEDate(String str) {  
  305.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  306.   ParsePosition pos = new ParsePosition(0);  
  307.   Date strtodate = formatter.parse(str, pos);  
  308.   String j = strtodate.toString();  
  309.   String[] k = j.split(" ");  
  310.   return k[2] + k[1].toUpperCase() + k[5].substring(24);  
  311.  }  
  312.    
  313.  /** 
  314.   * 获取一个月的最后一天 
  315.   * 
  316.   * @param dat 
  317.   * @return 
  318.   */  
  319.  public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd  
  320.   String str = dat.substring(08);  
  321.   String month = dat.substring(57);  
  322.   int mon = Integer.parseInt(month);  
  323.   if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {  
  324.    str += "31";  
  325.   } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {  
  326.    str += "30";  
  327.   } else {  
  328.    if (isLeapYear(dat)) {  
  329.     str += "29";  
  330.    } else {  
  331.     str += "28";  
  332.    }  
  333.   }  
  334.   return str;  
  335.  }  
  336.    
  337.  /** 
  338.   * 判断二个时间是否在同一个周 
  339.   * 
  340.   * @param date1 
  341.   * @param date2 
  342.   * @return 
  343.   */  
  344.  public static boolean isSameWeekDates(Date date1, Date date2) {  
  345.   Calendar cal1 = Calendar.getInstance();  
  346.   Calendar cal2 = Calendar.getInstance();  
  347.   cal1.setTime(date1);  
  348.   cal2.setTime(date2);  
  349.   int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);  
  350.   if (0 == subYear) {  
  351.    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  352.     return true;  
  353.   } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {  
  354.    // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周  
  355.    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  356.     return true;  
  357.   } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {  
  358.    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))  
  359.     return true;  
  360.   }  
  361.   return false;  
  362.  }  
  363.    
  364.  /** 
  365.   * 产生周序列,即得到当前时间所在的年度是第几周 
  366.   * 
  367.   * @return 
  368.   */  
  369.  public static String getSeqWeek() {  
  370.   Calendar c = Calendar.getInstance(Locale.CHINA);  
  371.   String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));  
  372.   if (week.length() == 1)  
  373.    week = "0" + week;  
  374.   String year = Integer.toString(c.get(Calendar.YEAR));  
  375.   return year + week;  
  376.  }  
  377.    
  378.  /** 
  379.   * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号 
  380.   * 
  381.   * @param sdate 
  382.   * @param num 
  383.   * @return 
  384.   */  
  385.  public static String getWeek(String sdate, String num) {  
  386.   // 再转换为时间  
  387.   Date dd = VeDate.strToDate(sdate);  
  388.   Calendar c = Calendar.getInstance();  
  389.   c.setTime(dd);  
  390.   if (num.equals("1")) // 返回星期一所在的日期  
  391.    c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);  
  392.   else if (num.equals("2")) // 返回星期二所在的日期  
  393.    c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);  
  394.   else if (num.equals("3")) // 返回星期三所在的日期  
  395.    c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);  
  396.   else if (num.equals("4")) // 返回星期四所在的日期  
  397.    c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);  
  398.   else if (num.equals("5")) // 返回星期五所在的日期  
  399.    c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);  
  400.   else if (num.equals("6")) // 返回星期六所在的日期  
  401.    c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);  
  402.   else if (num.equals("0")) // 返回星期日所在的日期  
  403.    c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);  
  404.   return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  
  405.  }  
  406.    
  407.  /** 
  408.   * 根据一个日期,返回是星期几的字符串 
  409.   * 
  410.   * @param sdate 
  411.   * @return 
  412.   */  
  413.  public static String getWeek(String sdate) {  
  414.   // 再转换为时间  
  415.   Date date = VeDate.strToDate(sdate);  
  416.   Calendar c = Calendar.getInstance();  
  417.   c.setTime(date);  
  418.   // int hour=c.get(Calendar.DAY_OF_WEEK);  
  419.   // hour中存的就是星期几了,其范围 1~7  
  420.   // 1=星期日 7=星期六,其他类推  
  421.   return new SimpleDateFormat("EEEE").format(c.getTime());  
  422.  }  
  423.  public static String getWeekStr(String sdate){  
  424.   String str = "";  
  425.   str = VeDate.getWeek(sdate);  
  426.   if("1".equals(str)){  
  427.    str = "星期日";  
  428.   }else if("2".equals(str)){  
  429.    str = "星期一";  
  430.   }else if("3".equals(str)){  
  431.    str = "星期二";  
  432.   }else if("4".equals(str)){  
  433.    str = "星期三";  
  434.   }else if("5".equals(str)){  
  435.    str = "星期四";  
  436.   }else if("6".equals(str)){  
  437.    str = "星期五";  
  438.   }else if("7".equals(str)){  
  439.    str = "星期六";  
  440.   }  
  441.   return str;  
  442.  }  
  443.    
  444.  /** 
  445.   * 两个时间之间的天数 
  446.   * 
  447.   * @param date1 
  448.   * @param date2 
  449.   * @return 
  450.   */  
  451.  public static long getDays(String date1, String date2) {  
  452.   if (date1 == null || date1.equals(""))  
  453.    return 0;  
  454.   if (date2 == null || date2.equals(""))  
  455.    return 0;  
  456.   // 转换为标准时间  
  457.   SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");  
  458.   java.util.Date date = null;  
  459.   java.util.Date mydate = null;  
  460.   try {  
  461.    date = myFormatter.parse(date1);  
  462.    mydate = myFormatter.parse(date2);  
  463.   } catch (Exception e) {  
  464.   }  
  465.   long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);  
  466.   return day;  
  467.  }  
  468.    
  469.  /** 
  470.   * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间 
  471.   * 此函数返回该日历第一行星期日所在的日期 
  472.   * 
  473.   * @param sdate 
  474.   * @return 
  475.   */  
  476.  public static String getNowMonth(String sdate) {  
  477.   // 取该时间所在月的一号  
  478.   sdate = sdate.substring(08) + "01";  
  479.    
  480.   // 得到这个月的1号是星期几  
  481.   Date date = VeDate.strToDate(sdate);  
  482.   Calendar c = Calendar.getInstance();  
  483.   c.setTime(date);  
  484.   int u = c.get(Calendar.DAY_OF_WEEK);  
  485.   String newday = VeDate.getNextDay(sdate, (1 - u) + "");  
  486.   return newday;  
  487.  }  
  488.    
  489.  /** 
  490.   * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数 
  491.   * 
  492.   * @param k 
  493.   *            表示是取几位随机数,可以自己定 
  494.   */  
  495.    
  496.  public static String getNo(int k) {  
  497.    
  498.   return getUserDate("yyyyMMddhhmmss") + getRandom(k);  
  499.  }  
  500.    
  501.  /** 
  502.   * 返回一个随机数 
  503.   * 
  504.   * @param i 
  505.   * @return 
  506.   */  
  507.  public static String getRandom(int i) {  
  508.   Random jjj = new Random();  
  509.   // int suiJiShu = jjj.nextInt(9);  
  510.   if (i == 0)  
  511.    return "";  
  512.   String jj = "";  
  513.   for (int k = 0; k < i; k++) {  
  514.    jj = jj + jjj.nextInt(9);  
  515.   }  
  516.   return jj;  
  517.  }  
  518.    
  519.  /** 
  520.   * 
  521.   * @param args 
  522.   */  
  523.  public static boolean RightDate(String date) {  
  524.    
  525.   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
  526.   ;  
  527.   if (date == null)  
  528.    return false;  
  529.   if (date.length() > 10) {  
  530.    sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
  531.   } else {  
  532.    sdf = new SimpleDateFormat("yyyy-MM-dd");  
  533.   }  
  534.   try {  
  535.    sdf.parse(date);  
  536.   } catch (ParseException pe) {  
  537.    return false;  
  538.   }  
  539.   return true;  
  540.  }  
  541.    
  542.  /*************************************************************************** 
  543.   * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1 
  544.   * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回 
  545.   **************************************************************************/  
  546.  public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {  
  547.   Date currentTime = new Date();  
  548.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  549.   String dateString = formatter.format(currentTime);  
  550.   String s_nd = dateString.substring(04); // 年份  
  551.   String s_yf = dateString.substring(57); // 月份  
  552.   String s_rq = dateString.substring(810); // 日期  
  553.   String sreturn = "";  
  554.   roc.util.MyChar mc = new roc.util.MyChar();  
  555.   if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况  
  556.    if (nd.equals("1")) {  
  557.     sreturn = s_nd;  
  558.     // 处理间隔符  
  559.     if (format.equals("1"))  
  560.      sreturn = sreturn + "年";  
  561.     else if (format.equals("2"))  
  562.      sreturn = sreturn + "-";  
  563.     else if (format.equals("3"))  
  564.      sreturn = sreturn + "/";  
  565.     else if (format.equals("5"))  
  566.      sreturn = sreturn + ".";  
  567.    }  
  568.    // 处理月份  
  569.    if (yf.equals("1")) {  
  570.     sreturn = sreturn + s_yf;  
  571.     if (format.equals("1"))  
  572.      sreturn = sreturn + "月";  
  573.     else if (format.equals("2"))  
  574.      sreturn = sreturn + "-";  
  575.     else if (format.equals("3"))  
  576.      sreturn = sreturn + "/";  
  577.     else if (format.equals("5"))  
  578.      sreturn = sreturn + ".";  
  579.    }  
  580.    // 处理日期  
  581.    if (rq.equals("1")) {  
  582.     sreturn = sreturn + s_rq;  
  583.     if (format.equals("1"))  
  584.      sreturn = sreturn + "日";  
  585.    }  
  586.   } else {  
  587.    // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式  
  588.    sdate = roc.util.RocDate.getOKDate(sdate);  
  589.    s_nd = sdate.substring(04); // 年份  
  590.    s_yf = sdate.substring(57); // 月份  
  591.    s_rq = sdate.substring(810); // 日期  
  592.    if (nd.equals("1")) {  
  593.     sreturn = s_nd;  
  594.     // 处理间隔符  
  595.     if (format.equals("1"))  
  596.      sreturn = sreturn + "年";  
  597.     else if (format.equals("2"))  
  598.      sreturn = sreturn + "-";  
  599.     else if (format.equals("3"))  
  600.      sreturn = sreturn + "/";  
  601.     else if (format.equals("5"))  
  602.      sreturn = sreturn + ".";  
  603.    }  
  604.    // 处理月份  
  605.    if (yf.equals("1")) {  
  606.     sreturn = sreturn + s_yf;  
  607.     if (format.equals("1"))  
  608.      sreturn = sreturn + "月";  
  609.     else if (format.equals("2"))  
  610.      sreturn = sreturn + "-";  
  611.     else if (format.equals("3"))  
  612.      sreturn = sreturn + "/";  
  613.     else if (format.equals("5"))  
  614.      sreturn = sreturn + ".";  
  615.    }  
  616.    // 处理日期  
  617.    if (rq.equals("1")) {  
  618.     sreturn = sreturn + s_rq;  
  619.     if (format.equals("1"))  
  620.      sreturn = sreturn + "日";  
  621.    }  
  622.   }  
  623.   return sreturn;  
  624.  }  
  625.    
  626.  public static String getNextMonthDay(String sdate, int m) {  
  627.   sdate = getOKDate(sdate);  
  628.   int year = Integer.parseInt(sdate.substring(04));  
  629.   int month = Integer.parseInt(sdate.substring(57));  
  630.   month = month + m;  
  631.   if (month < 0) {  
  632.    month = month + 12;  
  633.    year = year - 1;  
  634.   } else if (month > 12) {  
  635.    month = month - 12;  
  636.    year = year + 1;  
  637.   }  
  638.   String smonth = "";  
  639.   if (month < 10)  
  640.    smonth = "0" + month;  
  641.   else  
  642.    smonth = "" + month;  
  643.   return year + "-" + smonth + "-10";  
  644.  }  
  645.    
  646.  public static String getOKDate(String sdate) {  
  647.   if (sdate == null || sdate.equals(""))  
  648.    return getStringDateShort();  
  649.    
  650.   if (!VeStr.Isdate(sdate)) {  
  651.    sdate = getStringDateShort();  
  652.   }  
  653.   // 将“/”转换为“-”  
  654.   sdate = VeStr.Replace(sdate, "/""-");  
  655.   // 如果只有8位长度,则要进行转换  
  656.   if (sdate.length() == 8)  
  657.    sdate = sdate.substring(04) + "-" + sdate.substring(46) + "-" + sdate.substring(68);  
  658.   SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  659.   ParsePosition pos = new ParsePosition(0);  
  660.   Date strtodate = formatter.parse(sdate, pos);  
  661.   String dateString = formatter.format(strtodate);  
  662.   return dateString;  
  663.  }  
  664.    
  665.  public static void main(String[] args) throws Exception {  
  666.   try {  
  667.    //System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));  
  668.   } catch (Exception e) {  
  669.    throw new Exception();  
  670.   }  
  671.   //System.out.println("sss");  
  672.  }  
  673. }  
  674.      ------android培训、java培训期待与您交流! ---------


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部