2016-12-09 3 views
0

データベースにアクセスすると、JavaのDate APIを使用して日付に日数を追加する方法はありますか?Javaの日付ユーティリティとSQLの使用DATEADD()

入力フォーマットオフになっている日付:ここyyyy-MM-ddMM/dd/yyyy

は私の現在のコードです:

public String AddToDate(String holdDate, int holdDays) 
{ 
     try 
     { 
      Database db = new Database(); 

      String sQuery = "SELECT DATEADD(dd,?,?) AS NewDate"; 

      Object[] param = new Object[2]; 
      param[0] = holdDays; 
      param[1] = holdDate; 

      db.queryPS(sQuery, param); 

      if (db.getRow()) 
      { 
       return db.getField("NewDate"); 
      } 
      else 
       return ""; 
     } 
     catch(Exception ex) 
     { 
      return ""; 
     } 
    } 
+0

データベースの日付機能の使用に関する概念的な問題はありません。あなたの現在のコードと、使用しているデータベース(MySQL、SQL Serverなど)には何が問題なのですか? –

+3

'Calendar.add'を使用 –

答えて

0

私はこれをテストしていませんが、これは私がこれまで持っているものです。

public String AddToDate(String holdDate, int holdDays) 
    { 
     try 
     { 
      String newDate = ""; 
      SimpleDateFormat inFormatter = new SimpleDateFormat("MM/dd/yyyy"); 
      Date date1 = inFormatter.parse(holdDate); 
      Calendar cal = Calendar.getInstance(); 
      cal.setTime(date1); 
      cal.add(Calendar.DATE, holdDays); // number of days to add 
      newDate = (inFormatter.format(cal.getTime())); 

      return newDate; 
     } 
     catch(Exception ex) 
     { 
      ex.printStackTrace(); 
      return ""; 
     } 
    } 
関連する問題