Здравствуйте и спасибо за чтение.
В настоящее время я сталкиваюсь с проблемой преобразования строки, представляющей дату / время в формате xs: date, в отметку времени Oracle.
строка, с которой я начинаю, выглядит так: «2011-07-12T16: 20: 02-04: 00»
Мне нужно, чтобы смещение часового пояса было включено в мою метку времени Oracle.После того, как процесс преобразования состоялся, я должен получить метку времени, которая выглядит как -
"2011-07-12 12: 20: 02.0000"
Обратите внимание, что в приведенном выше примересмещение часового пояса было учтено в метке времени.
Кто-нибудь знает, как этого добиться?Я попытался использовать объект SimpleDateFormat, чтобы сначала создать объект java.util.Date из строки, а затем преобразовать его в объект java.sql.Timestamp.Проблема здесь в том, что часовой пояс не учитывается, и я думаю, что объекты java.util.Date игнорируют смещения часового пояса независимо от того.
Надеюсь, что кто-то может помочь мне здесь ...
Редактировать: Решено - Вот код, который я использовал в итоге -
Calendar Cal = DatatypeConverter.parseDateTime("2011-07-12T16:20:02+02:00");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(df.format(Cal.getTime()));
Еще раз спасибо за чтение,
Захари Картер