É comum iniciar a contagem regressiva 100 dias antes de um evento, provavelmente por causa do nosso sistema base 10. Exemplos disso podem ser encontrados em qualquer lugar:
- 100 dias até o seu aniversário
- 100 dias até o casamento
- Faltam 100 dias para a eleição
- 100 dias até a nossa graduação
- 100 dias até a data de vencimento
- 100 dias até a temporada de futebol
- 100 dias para receber o crachá Fanatic
Você entendeu a foto. Parece que o 100º dia antes de um evento é o segundo lugar apenas para o evento real. Portanto, para esse desafio, preciso saber qual será a data em 100 dias, para que eu possa determinar o que devo começar a contagem regressiva também.
Entrada
Sem entrada
Saída
A data de 100 dias a partir da data atual, com base no calendário gregoriano padrão (certifique-se de considerar os anos bissextos). A saída é flexível, desde que o formato de data é humano leitura capaz (por exemplo 2016-10-8
, 10-8-16
, [ 2016, 10, 8 ]
, 10/8/16 12:00:00 AM
).
Ganhando
Código golf: código mais curto em bytes
Exemplos
Daqui a 100 dias (5 de abril de 2017) é sexta-feira, 14 de julho de 2017.
Current Future
------- ------
01/01/2001 +100 04/11/2001
01/01/2004 +100 04/10/2004
01/01/1900 +100 04/11/1900
01/01/2000 +100 04/10/2000
07/04/2017 +100 10/12/2017
10/31/2017 +100 02/08/2018
12/25/2017 +100 04/04/2018
08/29/1941 +100 12/07/1941
06/03/2001 +100 09/11/2001
Respostas:
Excel, 10
Demonstração
fonte
=TODAY()+100
ou=TEXT(NOW()+100,"MM/dd/yyyy")
Bash,
1716151413 bytesAcontece que o
date
comando requer uma entrada bastante flexível para tempos relativos. Você também pode fazer coisas como1 year
,1 week ago
,yesterday
, etc. É muito legal.-1 byte ao perceber que o bash não se importa com a gramática.
-1 byte porque o espaço entre
100
eday
é desnecessário.-1 byte porque não preciso mais de aspas porque não tenho espaço na string.
-1 byte removendo o espaço após
-d
(obrigado somente ASCII!)fonte
-d
PowerShell, 10 bytes
Obrigado a ConnorLSW pelo truque + 1e2.
Parece que duplos (
1e2
é um duplo) também são adicionados como dias.Versão anterior, 12 bytes:
Aparentemente, você pode adicionar seqüências de caracteres às datas no PowerShell. A string
"100"
é convertida em 100 diasTimeSpan
.fonte
(date)+100
não funciona,(date)+1e2
não ... Eu acho que1e2
é realmente umdouble
passo que100
é um número até que ele é compilado, ou seja, você não pode chamar100.GetType()
, mas você pode1e2.GetType()
- que é -2 e nos leva a um empate com o Excel!100
aumentar a confusão, é visto como adicionando 100 ticks, onde a string"100"
é tirada em dias. Ambos são PS válidos, mas apenas um faz o que precisamos.1e6
ainda é um número e é adicionado como dias?Mediawiki, 19bytes
Você pode experimentá-lo com a sandbox da wikipedia
fonte
PHP, 28 bytes
versão legível por humanos, 35 bytes:
quase legível, 34 bytes:
-4 bytes, se a hora da impressão também for aceita: substitua
Y_m_d
porr
ouc
.É feriado nacional na França em 100 dias.
fonte
E_NOTICE
e Você saberá:Y_m_d
é uma constante indefinida e o PHP assume uma string. Isso funciona com qualquer palavra válida (incluindo todos os nomes de função) para além de palavras-chave , constantes predefinidas e maiúsculas e minúsculastrue
,false
enull
.Ruby , 16 bytes
Experimente online!
fonte
864e4
e8640000
não sei bem o porquê. Eu culpo o TIO. EDIT: quando você usap
, os dois valores produzem um resultado diferente. Mas quando você usaputs
, eles são iguais.p Time.now+864e4
está em torno de 4 dias atrásp Time.now+8640000
no TIO. Eu tentei várias vezes. No entanto, se você usarputs
, essa distinção não existe. Realmente não sei se meu local é importante, o leste dos EUA deve ser bem normal: PI acho que vou tentar executá-lo no meu próprio PC quando chegar em casa.Javascript,
292625 bytesEconomizou 3 bytes graças a @ ASCII-only!
Guardado 1 byte graças a @JohanKarlsson
fonte
864e7
em vez de864*10e6
+new Date
em vez deDate.now()
console.log
SQL (PostgreSQL), 19 bytes
fonte
Vim, 27 bytes
experimente online!
Edit: Removido espaço desnecessário char.
fonte
date
, um de uma página édate -d100day
, não tenho certeza se ele vai ajudar embora:r!date +\%F -d100day
isso também funciona (pelo menos no meu pc (C)), mas é o mesmo queHyperNeutrino
já uso no bash.MATL , 9 bytes
O formato de saída é
15-Jul-2017
(que eu acho mais legível). Mude1XO
para2XO
para obter o formato usado nos exemplos07/15/17
,.Experimente online!
Explicação
fonte
SQL (Microsoft),
3531 bytesfonte
d
vez deDAY
e remover os espaços internosDATEADD
.d
. Eu usodd
ouday
na prática. Eu apenas tentei e funcionou.Java 8,
77, 61 bytesExperimente online!
fonte
()->java.time.LocalDate.now().plusDays(100)
.C #,
10397 bytesObrigado ao raznagul por salvar 6 bytes!
Programa completo que lê a data atual, adiciona 100 dias e exibe o resultado em
M/d/YYYY
formato.Você pode alterar o formato da data adicionando mais alguns bytes:
Para eliminar o código padrão - o C # não é exatamente conhecido por ser muito compacto - uma função anônima pode ser usada:
C # lambda,
4943 bytesPrograma completo:
fonte
Console.Write
..ToString("d")
vez de.ToShortDateString()
.Noodel , 8 bytes
Tente:)
Como funciona
fonte
Mathematica,
2621 bytes-5 bytes graças a @KiranLinsuain!
Se a inclusão da hora for permitida, podemos salvar 2 bytes:
fonte
C,
874644 byteseconomizou 2 bytes graças a Albert Renshaw
Percebi que a saída é flexível o suficiente para permitir o dia da semana e o horário, por isso não há necessidade de usar
localtime
ou atm
estrutura.Resposta antiga
Com base na resposta de Khaled.K , mas em vez de mexer com a
tm
estrutura, adiciona o número de segundos equivalente a 100 dias diretamente aotime_t
valor. Também imprime apenas a data, sem hora ou dia da semana.Como deve acontecer em um programa de golfe, alguns avisos feios são gerados na compilação.
Experimente online!
Ungolfed:
fonte
8640000
com864e4
JavaScript, 42 bytes
fonte
Fórmula IBM / Lotus Notes, 29 bytes
Infelizmente,
@Adjust
exige o rastreio0's
dos desaparecidoshh:mm:ss
.Se tivéssemos permissão para exibir a hora também, a alteração
@Today
para@Now
pouparia 2 bytes para 27.fonte
JavaScript (ES6), 44 bytes
25 bytes se o retorno de uma data com a hora for aceitável:
fonte
30 bytes
Mysql!
SQLite
fonte
F # (53 bytes)
fonte
Swift 3, 39 bytes
fonte
import foundation;
. O Swift é executado apenas no iOS e é importado automaticamente para lá.C,
120113 bytesDemonstração ao vivo
fonte
#include ...
clichê ao enviar funções. (Respostas Java, por exemplo, não precisaimport
nesse caso)java.lang.*
, assim como não contamosstdio.h
estdlib.h
em C. Mas mesmo em java, você precisa considerar importações personalizadas ou colocar o caminho no nome da classe comojava.util.Date
, e isso conta na sua pontuação.printf()
seriaputs()
também não funciona?PowerShell, 23
Esta é a minha primeira tentativa, por favor, me dê um feedback construtivo. Obrigado!
fonte
R (REPL), 14 bytes
Experimente em Ideone .
fonte
Python, 63 bytes
Solução muito simples realmente. Como o
datetime.now()
resultado é o mesmotype
que o resultado detimedelta
, ele adiciona os dois juntos.fonte
lambda:
e ainda seria um programa completo.print
teria que ser adicionado e isso torna o mesmo número de bytes.print
na salvar 1 bytedays=
é opcional, que iria guardar 5 + 1 bytes (python2print
suportes 's)from datetime import*;print datetime.now()+timedelta(100)
JavaScript, 38 bytes
Um pouco menor que a resposta somente ASCII .
fonte
Golang, 58 bytes
Programa completo
experimente online!
fonte
Oracle, 34 bytes
fonte
Python 2 + Pandas 0.19.1,
5651 bytesfonte