Meu feriado de PPCG acabou: D
Introdução
O tempo fracionário é the year + (the value (minute of year) / number of minutes in the year)
.
Exemplo de cálculo
Você deve assumir que fevereiro sempre tem 28 dias e o ano sempre tem 365 dias.
Digamos que queremos converter o tempo: 17:34 3rd March 2013
em tempo fracionário. Em primeiro lugar, você encontra quantos minutos houve em 2013: 525600 minutos . Vamos chamar assim x
.
Em seguida, você deseja descobrir quantos minutos existem desde o início de 2013. Alguns cálculos rápidos indicam que a resposta é 88894 minutos:
Houve 61 dias desde o início do ano, que vezes 1440 (número de minutos em um dia) é igual a 87840 minutos. Em 17 horas são 1020 minutos (17 * 60). Agora, podemos adicionar 87840, 1020 e 34 minutos para equivaler a 88894 minutos.
Vamos chamar assim y
.
Finalmente, você dividir y
por x
e adicione o ano, resultando em 2013.16912
(a 5 casas decimais).
Entrada
A data e a hora serão fornecidas como uma única sequência. A sequência estará no seguinte formato:
YYYY-MM-DD hh:mm
O horário sempre estará no formato de 24 horas e o ano sempre estará no intervalo de 1900-2050, inclusive.
Exemplos
Input: 2016-08-06 23:48
Output: 2016.59723
Input: 2013-03-03 17:34
Output: 2013.16912
Input: 1914-11-11 11:11
Output: 1914.86155
Se você está indo para a recompensa, faça ping nos comentários ou no The XIX XIX Byte .
Desafio
Calcule a data e hora especificadas como um ano fracionário.
Forneça toda a saída com cinco casas decimais (você pode arredondar da maneira que desejar: piso, teto ou arredondamento verdadeiro). O menor código vence.
Recompensa
Estou oferecendo uma recompensa de 100 repetições para o programa mais curto, que também aceita a data no formato de ano fracionário e retorna a hora no YYYY-MM-DD hh:mm
formato. Em essência, seu programa (ou função) deve agir da seguinte maneira:
f('1914-11-11 11:11') => 1914.86155
f('1914.86155') => 1914-11-11 11:11
Entre os melhores
For this, assume February has 28 days and the year is 365 days long.
, mas também... using the Gregorian calendar.