Retornar data + hora + time zone

Boa noite!

Preciso retornar em uma variável Calendar a data e hora com Tiem Zone, por exemplo: 2010-06-21T19:45:00.000-03:00, como posso fazer?

Tenho o seguinte código:

Calendar cal = new GregorianCalendar();
cal.setTime(rsMensagem.getTimestamp("DATAHORA"));
msg.setDataHora(cal);

que está retornando somente 2010-06-21T19:45:00.000Z, com o Z no lugar do -03:00.

Obrigado.

Atte.

Carlos.

Utilize SimpleDateFormat. Uma pesquisa rápida na api do java lhe será suficiente.

o amigo de cima falou tudo…

Pessoal,

primeiro obrigado pelo retorno!

Utilizei o SimpleDateFormat, como sugerido, porém, como preciso retornar uma variável Calendar, não está retornando no formato solicitado.

Calendar cal = new GregorianCalendar();
cal.setTime(rsMensagem.getTimestamp("DATAHORA"));
SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd hh:mm:SS Z");
cal.setTime(dtf.parse(dtf.format(cal.getTime())));

A história é a seguinte, essa var Calendar que chamei de cal, deve retornar a data no formato 2010-06-21T19:45:00.000-03:00, porém, está retornando 2010-06-21T19:45:00.000Z.

Na realidade, o valor está retornando para um Web Service feito em Axis, então não sei se o problema está aqui.

Não posso modificar o tipo, usando String no lugar de Calendar, pois é especificação do cliente.

Obrigado novamente.

Atte.

Carlos.