Dado um registro de data e hora unix como entrada, forneça uma string de data e hora, em um formato como este: "YYMMDD.HHmm"
Regras
- A entrada é um número (inteiro) de um tempo de época UNIX de milissegundos preciso (milissegundos desde 1970, 1º de janeiro de 00: 00: 00.000 UTC).
- Os valores devem ser preenchidos com zeros se tiverem 1 caractere em vez de 2. (por exemplo: para "DD", "1" não é aceitável, mas "01" é).
- A saída deve ser uma única sequência. Sem matrizes.
- O segundo salto não importa.
- Vitórias mais curtas.
Boa sorte!
Exemplo
Input: 1547233866744
Output: 190111.1911
Respostas:
Japt v1.4.5 ,
1916 bytes1 byte salvo graças a Oliver , o que levou a outros 2 bytes salvos.
Tente
Explicação
Notas / Dicas
G
é usado para inserir o.
no índice necessário porque o uso de um literal6
faria com que ele fosse combinado com o.
e para que isso fosse interpretado como um decimal que seria inserido no início da string . Para contornar isso, eu precisaria adicionar um'
antes de.
para forçá-lo a ser interpretado como uma string .17
e a partir da v1.4.6 ao tentar inserir algo no primeiro índice após o final de uma string, resultando na inserção no final da string (A
é o Japt constante para10
), enquanto que antes da v1.4.6, ele volta imediatamente para o início da sequência .fonte
JavaScript (ES6), 65 bytes
Experimente online!
Quão?
JavaScript (ES6), 66 bytes
Experimente online!
Quão?
Depois que o registro de data e hora de entrada é convertido no formato ISO-8601, todos os caracteres necessários podem ser acessados com um único dígito hexadecimal.
fonte
n=>'235689.11121415'.replace(/1?\w/g,x=>new Date(n).toJSON()[x])
Bash + coreutils, 29 bytes
Experimente online!
fonte
PHP ,
403231 bytes-8 bytes graças a Luis felipe
-1 byte graças a Jo King
Experimente online!
Resposta ingênua simples. A
date
função do PHP usa uma string de formato e um registro de data e hora inteiro. Entrada de argumentos cli, que é uma string por padrão,/1e3
porquedate
espera registros de data e hora com segunda precisão. Isso também força a cadeia a um número.fonte
"2"/1
elenco vontade automaticamente a string/1000
e não achei que não fosse necessário depois: PMATL , 28 bytes
Obrigado a @skiilaa por uma correção no formato de saída.
Experimente online!
Explicação
MATL, como MATLAB, define números de data / hora como o número (possivelmente não inteiro) de dias desde a hora 00:00 da referência "data" 0-Jan-0000.
Assim, pegamos a entrada, dividimos por 86400000 (número de milissegundos em um dia), adicionamos 719529 (número de dias da referência do MATL à referência do UNIX) e convertemos para o formato desejado 'YYmmDD.HHMM'.
fonte
PowerShell ,
5958 bytesExperimente online!
Obtém o
Date
de1/1/1970
(o padrão é 00:00:00) e, em seguida,Add
é o número apropriado deSeconds
. Passa isso para o-f
operador ormat, que formata corretamente a data e hora.Provavelmente dependente da cultura. Isso funciona no TIO, que é
en-us
.-1 byte graças a shaggy.
fonte
GNU AWK,
3433 caracteres(
strftime()
é a extensão GNU, não será executado em outras implementações do AWK.)Graças a:
Execução do amostrador:
Experimente online!
fonte
Perl 6 ,
111 8987 bytesExperimente (111)
Experimente (89)
Experimente (87)
Explicação:
O
o
operador infix assume duas funções e cria uma função composta. O da direita é chamado primeiro e o da esquerda é chamado com o resultado.Basicamente, usamos lambdas de 4 blocos para gerar uma única lambda.
O que não é muito diferente de como
* + *
é criado um lambda WhateverCode .Divida por 1000 e use-o para criar um objeto DateTime.
O resultado é usado por:
Isso nos deixa com uma corda como
2019-01-11.19 11
Precisamos remover os dois primeiros dígitos
Também precisamos remover
-
efonte
Python 2 , 64 bytes
Experimente online!
A entrada é considerada em UTC.
fonte
lambda
vem antes doimport
porque funciona melhor no cabeçalho do TIO?NameError
s antes de ser chamado.R ,
5856 bytesExperimente online!
fonte
C (gcc) (32 bits, little endian), 67 bytes
Experimente online!
Em uma plataforma ILP64, a seguinte versão de 55 bytes deve funcionar:
fonte
s
argumento extra que você está adotando?s
é para a string de saída.long long
em vez delong
ouint32_t
,int64_t
,time_t
? IAC, todos menores quelong long
.Perl 6 ,
5750 bytesExperimente online!
Pega a stringificação padrão de um Datetime, no formato
yyyy-mm-ddThh:mm:ssZ
e a modifica para se ajustar ao formato de saída. O Perl 6 precisa de um método de formatador de data.Explicação:
fonte
C # (compilador interativo do Visual C #) ,
676160 bytesPor motivos desconhecidos para mim, o DateTime.UnixEpoch não funciona.
Experimente online!
fonte
Javascript ES6,
7666 bytesExperimente online
-10 bytes graças a Shaggy!
fonte
C (clang) ,
117111 bytesObrigado a @chux e @ceilingcat pelas sugestões.
Experimente online!
fonte
gmtime
é curto quelocaltime
Galho, 25 caracteres
Este é um modelo. Chame-o incluindo-o e passe o tempo do Unix como parâmetro d.
Uso da amostra:
Experimente no TwigFiddle
fonte
JavaScript, 64 bytes
Experimente online!
fonte
jq, 33 caracteres
(Código de 30 caracteres + opção de linha de comando de 3 caracteres)
Exemplo de execução:
Experimente online!
fonte
1000
->1e3
ksh , 36 bytes
Experimente online!
Agradecimentos a Jo King por 15 bytes salvos
fonte
MediaWiki, 46 bytes
fonte
Java 8, 78 bytes
Experimente online.
Explicação:
fonte