Groovy JsonBuilder, похоже, вообще не преобразует часовые пояса в даты в строку JSON. Или, точнее, он всегда использует GMT. Например, следующий код должен печатать дату как полночь 03 февраля 2001 г., GMT +2. Но вместо этого он печатает 2001-02-02T22:00:00+0000, то есть ту же дату минус 2 часа, как если бы она была по Гринвичу.
Есть ли ошибка в JsonBuilder или это "известная функция", которую необходимо учитывать при использовании API?
import groovy.json.JsonBuilder
def c = new GregorianCalendar( new Locale( "fi", "FI" ) ) // GMT+2, no DST by default
c.set( 2001, 1, 3, 0, 0 ) // 2001-02-03T00:00:xx, xx is current seconds. Not set as irrelevant
println ( new JsonBuilder( [ date: c.getTime() ] ) ).toString()