Seu formato de string de entrada está correto, desde que se destine a representar o UTC.
Altere seu analisador para usar aquele que corresponde a este formato:
DateTimeFormatter parser = ISODateTimeFormat.dateTime();
O resto da sua pergunta não faz muito sentido para mim. Você não deve passar o
parser
, mas sim o valor de retorno de parseDateTime
, que você não parece estar capturando. DateTime result = parser.parseDateTime(crDt);
mongo.setCrDt(recordId, result.toDate());
Se essa última linha funcionará ou não depende do que essa função aceita.