A idéia é a seguinte: Escreva uma função para imprimir o período de tempo a partir de agora / data de hoje (no momento em que a função é chamada) até uma data fornecida como argumento.
Premissas:
- A data de entrada será sempre amanhã ou mais tarde, no futuro.
- A data de entrada nunca será superior a 10 anos no futuro.
Regras:
- A saída deve estar neste formato: "[z ano (s)], [x mês (s)], y dia (s) até -Data de entrada-"
- O período de saída (dia / mês / ano) deve ser pluralizado corretamente. ou seja
1 month
, não1 months
- A entrada pode estar no formato de data que você preferir (15/3/12 - 15 de março de 2012 - 2012.03.15).
Exemplo: Supondo que o programa seja executado em 15 de março de 2012:
- Data de entrada de
3/20/12
=5 days until 3/20/12
- NÃO Data de entrada de
4/16/12
=1 month, 1 days until 3/20/12
- Data de entrada de
2012.04.20
=1 month, 5 days until 2012.04.20
- NÃO Data de entrada de
2012.04.20
=36 days until 2012.04.20
- Data de entrada de
10/31/17
=5 years, 7 months, 16 days until 10/31/17
- Data de entrada de
3/15/13
=1 year until 3/15/13
Isso é código de golfe, então o código de menor comprimento vence.
Suponho que, por ter um prazo, selecionarei uma resposta em:
23 de março de 2012!
(Esta é a minha primeira pergunta de CG, por isso, ficarei feliz em corrigir quaisquer erros de pergunta da minha parte!)
now-<input time>
now until <input time>
p