Dada una marca de tiempo de Unix como entrada, proporcione una cadena de fecha y hora, en un formato como este: "YYMMDD.HHmm"
Reglas
- La entrada es un número (entero) de un tiempo de época UNIX preciso en milisegundos (milisegundos desde el 1 de enero de 1970 00: 00: 00,000 UTC).
- Los valores deben rellenarse con ceros si tienen 1 carácter en lugar de 2. (por ejemplo: para "DD", "1" no es aceptable, pero "01" sí).
- La salida debe ser una sola cadena. No hay matrices.
- El segundo salto no importa.
- Las victorias más cortas.
¡Buena suerte!
Ejemplo
Input: 1547233866744
Output: 190111.1911
Respuestas:
Japt v1.4.5 ,
1916 bytes1 byte guardado gracias a Oliver , lo que llevó a otros 2 bytes guardados.
Intentalo
Explicación
Notas / Consejos
G
se usa para insertar el.
en el índice requerido porque usar un literal6
haría que se combinara con.
y para que se interpretara como un decimal que se insertaría al comienzo de la cadena . Para evitar eso, necesitaría agregar un'
antes del.
para forzarlo a ser interpretado como una cadena .17
y desde v1.4.6 al intentar insertar algo en el primer índice más allá del final de una cadena resulta en que se inserte al final de la cadena (A
es el Japt constante para10
) mientras que antes de v1.4.6 inmediatamente vuelve al principio de la cadena .fuente
JavaScript (ES6), 65 bytes
Pruébalo en línea!
¿Cómo?
Inicializamos el puntero en un valor no numérico (forzado a ) y luego agregamos alternativamente y para elegir los caracteres relevantes de la conversión ISO-8601 de la marca de tiempo de entrada.yo 0 0 2 1
JavaScript (ES6), 66 bytes
Pruébalo en línea!
¿Cómo?
Una vez que la marca de tiempo de entrada se convierte en formato ISO-8601, se puede acceder a todos los caracteres requeridos con un solo dígito hexadecimal.
fuente
n=>'235689.11121415'.replace(/1?\w/g,x=>new Date(n).toJSON()[x])
Bash + coreutils, 29 bytes
Pruébalo en línea!
fuente
PHP ,
403231 bytes-8 bytes gracias a Luis felipe
-1 byte gracias a Jo King
Pruébalo en línea!
Simple respuesta ingenua. La
date
función de PHP toma una cadena de formato y una marca de tiempo entera. Entrada de argumentos cli, que es una cadena por defecto, entonces/1e3
porquedate
espera marcas de tiempo de segunda precisión. Esto también obliga a la cadena a un número.fuente
"2"/1
lanzará automáticamente la cadena/1000
, y no pensé que no lo necesitaría después: PMATL , 28 bytes
Gracias a @skiilaa por una corrección en el formato de salida.
Pruébalo en línea!
Explicación
MATL, como MATLAB, define los números de fecha / hora como el número (posiblemente no entero) de días desde la hora 00:00 de la "fecha" de referencia 0-enero-0000.
Por lo tanto, tomamos la entrada, la dividimos entre 86400000 (número de milisegundos en un día), agregamos 719529 (número de días desde la referencia de MATL a la referencia de UNIX) y la convertimos al formato deseado 'YYmmDD.HHMM'.
fuente
PowerShell ,
5958 bytesPruébalo en línea!
Obtiene el
Date
de1/1/1970
(el valor predeterminado es 00:00:00 am) y luegoAdd
el número apropiado deSeconds
. Pasa eso al-f
operador ormat, que formatea correctamente la fecha y hora.Probablemente dependiente de la cultura. Esto funciona en TIO, que es
en-us
.-1 byte gracias a shaggy.
fuente
GNU AWK,
3433 caracteres(
strftime()
es la extensión GNU, no se ejecutará en otras implementaciones de AWK).Gracias a:
Muestra de ejecución:
Pruébalo en línea!
fuente
Perl 6 ,
111 8987 bytesPruébalo (111)
Pruébalo (89)
Pruébalo (87)
Explicación:
El
o
operador infijo toma dos funciones y crea una función compuesta. Primero se llama al que está más a la derecha, y al que está a la izquierda se llama con su resultado.Básicamente usamos 4 lambdas de bloque para generar una sola lambda.
Lo que no es muy diferente de cómo
* + *
se crea un Lambda de WhateverCode .Dividir por 1000 y usar eso para crear un objeto DateTime.
El resultado se usa por:
Eso nos deja con una cuerda como
2019-01-11.19 11
Necesitamos eliminar los dos primeros dígitos.
También necesitamos eliminar
-
yfuente
Python 2 , 64 bytes
Pruébalo en línea!
La entrada se considera en UTC.
fuente
lambda
viene antesimport
porque funciona mejor para el encabezado de TIO?NameError
antes de llamarlo.R ,
5856 bytesPruébalo en línea!
fuente
C (gcc) (32 bits, little endian), 67 bytes
Pruébalo en línea!
En una plataforma ILP64, la siguiente versión de 55 bytes debería funcionar:
fuente
s
argumento adicional que estás tomando?s
es para la cadena de salida.long long
en lugar delong
oint32_t
,int64_t
,time_t
? IAC, todo más corto quelong long
.Perl 6 ,
5750 bytesPruébalo en línea!
Toma la cadena de caracteres predeterminada de una fecha y hora, en el formato
yyyy-mm-ddThh:mm:ssZ
y la modifica para que se ajuste al formato de salida. Perl 6 necesita un método de formateador de fecha.Explicación:
fuente
C # (compilador interactivo de Visual C #) ,
676160 bytesPor razones desconocidas para mí, DateTime.UnixEpoch no funciona.
Pruébalo en línea!
fuente
Javascript ES6,
7666 bytesPruébalo en línea
-10 bytes gracias a Shaggy!
fuente
C (clang) ,
117111bytesGracias a @chux y @ceilingcat por las sugerencias.
Pruébalo en línea!
fuente
gmtime
es corto quelocaltime
Ramita, 25 caracteres
Esta es una plantilla. Llámelo incluyéndolo y pase el tiempo Unix como parámetro d.
Uso de la muestra:
Pruébalo en TwigFiddle
fuente
JavaScript, 64 bytes
Pruébalo en línea!
fuente
jq, 33 caracteres
(Código de 30 caracteres + opción de línea de comando de 3 caracteres)
Ejecución de muestra:
Pruébalo en línea!
fuente
1000
->1e3
ksh , 36 bytes
Pruébalo en línea!
Gracias a Jo King por 15 bytes guardados
fuente
MediaWiki, 46 bytes
fuente
Java 8, 78 bytes
Pruébalo en línea.
Explicación:
fuente