如何在java中拆分字符串数组

时间:2014-11-12 11:55:35

标签: java arrays split date-format

我有一个String类型的数组,它保存数据库中的列,其中包含日期和时间值,如2014-11-12 16:08:48。现在我必须拆分数组,以便只检索时间值,即16:08:48。如何在阵列上应用split?

提前致谢。

我检索列值的代码是



public String[] getChartTime() throws SQLException {
  List < String > timeStr = new ArrayList < String > ();
  String atime[] = null;
  getConnection();
  try {
    con = getConnection();


    String sql = "exec vcs_gauge @gauge_name=?,@first_rec_time=?,@last_rec_time=?";
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println("date is " + df.format(currentDate));
    clstmt = con.prepareCall(sql);
    clstmt.setString(1, "vs3_bag");
    clstmt.setString(2, "2014-09-01 10:00:00");
    clstmt.setString(3, "2014-09-01 11:00:00");
    clstmt.execute();
    rs = clstmt.getResultSet();

    while (rs.next()) {
      // Just get the value of the column, and add it to the list
      timeStr.add(rs.getString(1));

    }

  } catch (Exception e) {
    System.out.println("\nException in  Bean in getDbTable(String code):" + e);
  } finally {
    closeConnection();
  }
  // I would return the list here, but let's convert it to an array
  atime = timeStr.toArray(new String[timeStr.size()]);
  


  return atime;


}
&#13;
&#13;
&#13;

现在我想分割timestr数组,以便我只有时间,没有日期。

3 个答案:

答案 0 :(得分:1)

您可以使用String.split()方法使用space作为分隔符。您可以使用以下代码执行此操作:

String[] atime = new String[3600];
Iterator<String> it = timeStr.iterator();
int i = 0;
while(it.hasNext()) {
    atime[i] = it.next().toString().split("\\s")[1]; /* stores each time in each index of atime */
    i++;
}

执行此操作后,结果将在String数组atime[]中。

答案 1 :(得分:1)

您只需使用以下代码执行此操作:

// Just get the value of the column, and add it to the list
timeStr.add(rs.getString(1).split(" ")[1]);

答案 2 :(得分:0)

我通过使用子字符串解决了我的问题。代码是

&#13;
&#13;
 while (rs.next()) {
   // Just get the value of the column, and add it to the list
   timeStr.add(rs.getString(1).substring(11, 16));

 }
&#13;
&#13;
&#13;