Java Date 日期 格式 轉換

 

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