O tempo TZ="Europe/Rome" 2017-10-29 02:00
é ambíguo, pois isso se traduz em dois horários UTC diferentes, 00:00
e 01:00
.
Como fazer o retorno da data ambos é para especificar o fuso horário exato em si, por exemplo,
$ date -ud 'TZ="Europe/Rome" 02:00:00 10/29/2017 CEST'
Sun Oct 29 00:00:00 UTC 2017
$ date -ud 'TZ="Europe/Rome" 02:00:00 10/29/2017 CET'
Sun Oct 29 01:00:00 UTC 2017
No entanto, isso significa que você precisa calcular o fuso horário fora do comando de data.