Проблема не в GregorianCalendar
, а в Date
, который используется для форматирования даты / времени для toString
для println
.
Если вы хотите контролировать форматирование даты, вам нужно создать собственный экземпляр DateFormat
- я всегда использую SimpleDateFormat
, потому что я довольно разборчив в том, как я хочу, чтобы мои даты выглядели.
Если вас не интересуют подробности форматирования даты, вы также можете использовать один из getInstance...
фабричных методов DateFormat
.
Вы можете явно setTimeZone
на DateFormat
(включая, конечно, SimpleDateFormat
).