That's how it's now defined at the IANA official standard timezone database
See ftp://ftp.iana.org/tz/tzdb-2017b/southamerica
The name for the timezone in Winter time is -03. That corresponds to the UTC offset. It's more useful than things like CET that are ambiguous (mean different things to different people).
That apparently changed recently. Compare ftp://ftp.iana.org/tz/tzdb-2017a/southamerica (2017-02-28) with ftp://ftp.iana.org/tz/tzdb-2016j/southamerica (2016-11-23) that had BRT instead.
The NEWS file for the 2017a release states:
[...]
Switch to numeric time zone abbreviations for South America, as part of the ongoing project of removing invented abbreviations. This avoids the need to invent an abbreviation for the new Chilean new zone. Similarly, switch from invented to numeric time zone abbreviations for Afghanistan, American Samoa, the Azores, Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei, Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is, Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland, Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia, the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia, Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau, Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore, Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and Xinjiang; for 20-minute daylight saving time in Ghana before 1943; for half-hour daylight saving time in Belize before 1944 and in the Dominican Republic before 1975; and for Canary Islands before 1946, for Guinea-Bissau before 1975, for Iceland before 1969, for Indian Summer Time before 1942, for Indonesia before around 1964, for Kenya before 1960, for Liberia before 1973, for Madeira before 1967, for Namibia before 1943, for the Netherlands in 1937-9, for Pakistan before 1971, for Western Sahara before 1977, and for Zaporozhye in 1880-1924.
[...]
Usually, you'd be able to specify the names for Winter and Summer time and the rules for when to change from one to the other by hand in the TZ variable, but it looks like for Brazil, it's not really possible as according to that timezone database:
http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm [t]he DST period in Brazil now on will be from the 3rd Oct Sunday to the 3rd Feb Sunday. There is an exception on the return date when this is the Carnival Sunday then the return date will be the next Sunday...
There's no way to specify this kind of exception in the simple TZ rule specification.
date +%Ztimedatectl?