2014-11-12 3 views
0

У меня есть массив типа String, который содержит столбцы из базы данных, которая содержит значения даты и времени как 2014-11-12 16:08:48. Теперь мне нужно разбить массив так, чтобы получить только значение времени, т. Е. 16:08:48. Как я могу применить split к массиву?Как разбить массив строк в java

Заранее спасибо.

код, через который я получить мои значения столбцов не

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; 
 

 

 
}

Теперь я хочу, чтобы разделить массив timestr так что я получаю только время, и без даты.

+0

Некоторый код на этот вопрос? Как далеко вы добрались до вас? – mattias

+0

Мой массив имеет 3600 значений и все в форме «2014-11-12 16:18:48». Значения в массиве извлекаются из базы данных. Я не хочу печатать его на консоли, но хочу отображать значение времени на оси x диаграммы. Поэтому мне нужны эти разделенные значения, которые должны храниться только в массиве типа строки. –

ответ

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++; 
} 

После выполнения этого результата будет в массиве строк atime[].

1

Вы можете просто сделать это с помощью следующего кода:

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

я решил мою проблему с помощью подстроки .The код

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

 
}

Смежные вопросы