преобразование строки в java.util.Date - PullRequest
2 голосов
/ 16 ноября 2011

У меня есть строка как

strikedate="2011-11-19T00:00:00.000-05:00"

Мне нужно поместить это в java.util.Date. Может кто-нибудь, пожалуйста, скажите мне, как преобразовать эту строку в дату

Ответы [ 4 ]

15 голосов
/ 16 ноября 2011

Конечно - используйте SimpleDateFormat.

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
Date parsed = sdf.parse(text);

РЕДАКТИРОВАТЬ: Eek - это не так просто, из-за формата вашего часового пояса. Выше будет работать без двоеточия. Возможно, вам придется использовать Joda Time для анализа версии с двоеточием. Проверяем это сейчас ...

РЕДАКТИРОВАТЬ: Да, с Joda Time вы можете использовать:

DateTimeFormatter formatter = ISODateTimeFormat.dateTime();
DateTime parsed = formatter.parseDateTime(text);
// If you really need it
Date date = parsed.toDate();

Joda Time - также гораздо более приятный API для работы с датами и временем - я настоятельно рекомендую вам использовать его, если можете.

2 голосов
/ 16 ноября 2011

Используйте SimpleDateFormat (а именно, его унаследованный метод parse()). Строка формата должна быть «YYYY-MM-dd'T'HH: mm: ss.SSSZ» - хотя это предполагает, что zimezone должен быть без двоеточия, поэтому может потребоваться предварительная обработка строки для удаления двоеточия.

1 голос
/ 16 ноября 2011

Google о "SimpleDateFormat"

0 голосов
/ 16 ноября 2011

Попробуйте что-то вроде:

String format = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
offset = "GMT-04:00";
String date = "2010-10-12T20:01:18.000Z";

SimpleDateFormat sdf = new SimpleDateFormat(format);
str = sdf.parse(date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...