Вы распечатываете результат Date.toString()
.A Date
не имеет никакого понятия о часовом поясе - это просто количество миллисекунд с начала UTC Unix.Date.toString()
всегда использует системный часовой пояс по умолчанию.
Обратите внимание, что вы не должны ожидать "Пн 31 октября 13:19:56 GMT 2011", учитывая, что вы даливремя, которое указывает часовой пояс GMT 11, а не 13.
Если вы хотите использовать определенный часовой пояс для печати, вы должны использовать другой DateFormat
для печати, а не Date.toString()
.(Date.toString()
продолжает вызывать замешательство, как это; это действительно неудачно.)