Настраиваемая строка даты и времени из миллисекунд
у меня есть время в миллисекундах, например. 1308700800000
; мне нужно преобразовать его во что-то вроде Jun 9'11 at 02:15 PM
.
Я попытался с помощью
SimpleDateFormat format = new SimpleDateFormat("MMM D'''YY");
но я получаю исключение:
Caused by: java.lang.IllegalArgumentException: Unterminated quote
любая помощь будет высоко ценится.
3 ответов
из сообщения об исключении ясно, что проблема будет лежать с вашей строкой формата, в частности вокруг части с одной кавычкой.
смотреть на!--4-->документация, мы видим, что:
текст может быть процитирован с помощью одинарных кавычек ( ' ), чтобы избежать интерпретации. """представляет собой одну цитату.
таким образом, я считаю, что ваш формат (для этой части даты, согласно вашему существующему примеру) может быть таким же простым, как
new SimpleDateFormat("MMM d''yy")
не должно быть необходимости использовать обратные косые черты.
попробуй:
import java.util.*;
import java.text.*;
class D {
public static void main( String ... args ) {
System.out.println(
new SimpleDateFormat("MMM dd''yy")
.format( new Date( 1308700800000L ))
);
}
}
принты:
Jun 21'11
Анджей прав, но колпачки D и Y не будут работать для вас. Читайте док, но это должно сработать:
SimpleDateFormat format = new SimpleDateFormat("MMM d''yy 'at' HH:mm:ss z")