2014-10-20 2 views
0

Учитывая следующий штамп времени, порожденную java.sql.Timestamp:Java Отметка времени регулярное выражение

2014-10-20 11:17:55.19 

мне нужен «длинный тип» штамп времени (без знаков препинания), так, что регулярное выражение может помочь удалить эти символы:

'-', ':', ' ', '.' 

Так что я могу получить результат, который выглядит как:

2014102011175519 
+0

Имейте в виду, что [ java.sql.Timestamp] (http://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html) разрешает [наносекунды] (https://en.wikipedia.org/wiki/Нс). Таким образом, дробные секунды в строковом представлении могут иметь [целых девять цифр] (http://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html#toString--). Таким образом, ваша результирующая строка будет меняться по разным значениям. Это может быть проблемой для некоторых приложений. –

ответ

3

Заменить все \D (не являющихся цифрами) с пустым:

str = str.replaceAll("\\D", ""); 

Или использовать формат даты, так как java.sql.Timestamp является дата:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS"); 
String str = sdf.format(timestamp); 
+2

Кроме того, в Java 8 класс java.sql.Timestamp имеет новые методы, такие как [' toInstant' ] (http://docs.oracle.com/javase/8/docs/api/java/sql/Timestamp.html#toInstant--) для преобразования в объекты в новом пакете java.time. ['Instant'] (http://docs.oracle.com/javase/8/docs/api/java/time/Instant.html) сохраняет наносекунды, содержащиеся в« Timestamp ». –

1

Используйте функцию string.replaceAll для удаления -, :, , . символов из вашей строки ввода.

String s = "2014-10-20 11:17:55.19"; 
System.out.println(s.replaceAll("[-: .]", "")); 

Выход:

2014102011175519 
0

/([^\d])/g

регулярное выражение в замене функции, как

replaceAll("[^\d]","") 

или покороче

replaceAll("\D","") 
+0

'[^ \ d]' будет таким же, как просто '\ D'. Сокращенные характерные классы с большой буквы являются отрицательными версиями их младших коллег. (так же, '[^ \ w]' == '\ W') – funkwurm

+0

@funkwurm +1 :) спасибо – nu11p01n73R

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