How about using awk:
$ TZ=UTC-1 date +%:::z | awk 'BEGIN{FS=OFS=":"}{$1=(24+$1)%24}1'
1
$ TZ=UTC+7:30 date +%:::z | awk 'BEGIN{FS=OFS=":"}{$1=(24+$1)%24}1'
17:30
If you want decimal output, change the output separator and divide by 6:
$ TZ=UTC-1 date +%:::z | awk -F: 'BEGIN{OFS="."}{$1=(24+$1)%24;$2/=6}1'
1.0
$ TZ=UTC+7:30 date +%:::z | awk -F: 'BEGIN{OFS="."}{$1=(24+$1)%24;$2/=6}1'
17.5