Desafio
Dado um horário e um fuso horário como entrada, produza a hora nesse fuso horário.
Tempo
A hora será fornecida no formato de 24 horas, da seguinte forma:
hh:mm
Onde hh é a hora de dois dígitos e mm é o minuto de dois dígitos. Observe que a hora e o minuto sempre serão preenchidos com zeros da seguinte maneira:
06:09
Todos os horários indicados são às UTC + 00: 00.
As horas na sua saída não precisam ser preenchidas com zeros, mas seu horário deve estar no formato de 24 horas
Fuso horário
O fuso horário será fornecido no seguinte formato:
UTC±hh:mm
Onde ± será um + ou a - e hh, é a hora de dois dígitos e mm é o minuto de dois dígitos (novamente, estes serão preenchidos com zeros).
Para encontrar a hora nesse fuso horário, você adiciona (se o símbolo for +) ou subtrai (se o símbolo for -) a hora após o UTC ± a partir da hora inserida.
Por exemplo, se a entrada fosse 24:56
e UTC-02:50
, você subtrairia 2 horas e 50 minutos de 24:56:
24:56
02:50 -
-----
22:06
A saída seria 22:06
.
Exemplos
Chicago
Input: 08:50 and UTC-06:00
Output: 02:50
Kathmandu
Input: 09:42 and UTC+05:45
Output: 15:27
Samoa
Input: 06:42 and UTC+13:00
Output: 19:42
Havaí
Input: 02:40 and UTC-10:00
Output: 16:40
Observe que isso foi para o dia anterior.
Tóquio
Input: 17:25 and UTC+09:00
Output: 02:25
Observe que isso ocorreu no dia seguinte.
Regras
Você não deve usar nenhuma função ou biblioteca de data incorporada.
Suponha que todas as entradas tenham horários e compensações válidos.
O fuso horário estará no intervalo UTC-24:00
de UTC+24:00
inclusão.
No caso da meia-noite e meia , a representação correta deve ser 00:30
, não 24:30
.
Ganhando
O código mais curto em bytes vence.
26:02
e 08:74
não apareceria? O mesmo para as compensações UTC?
2:25
)
1:5
seria válida em vez de 1:05
? Eu acho que apenas as horas não devem ser preenchidas. Além disso, seu exemplo 24:56
não deve ser esse, 00:56
já que você declarou um intervalo até 24:00
e expressa similar no cenário da meia-noite e meia?