Es común comenzar la cuenta regresiva 100 días antes de un evento, probablemente debido a nuestro sistema de base 10. Se pueden encontrar ejemplos de esto en todas partes:
- 100 días hasta tu cumpleaños
- 100 días hasta la boda
- 100 días hasta la elección
- 100 días hasta nuestra graduación
- 100 días hasta su fecha de vencimiento
- 100 días hasta la temporada de fútbol
- 100 días hasta que obtenga la insignia de Fanatic
Te dan la imagen. Parece que el centésimo día antes de un evento es el segundo lugar solo para el evento real. Entonces, para este desafío, necesito saber cuál será la fecha dentro de 100 días, para poder determinar qué debo comenzar a contar también.
Entrada
Sin entrada
Salida
La fecha 100 días a partir de la fecha actual basada en el calendario gregoriano estándar (asegúrese de tener en cuenta los años bisiestos). De salida es flexible, siempre que el formato de fecha es humano, capaz de lectura (por ejemplo 2016-10-8
, 10-8-16
, [ 2016, 10, 8 ]
, 10/8/16 12:00:00 AM
).
Victorioso
Código golf: código más corto en bytes
Ejemplos
100 días a partir de hoy (5 de abril de 2017) es el viernes 14 de julio 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
Respuestas:
Excel, 10
Demostración
fuente
=TODAY()+100
o=TEXT(NOW()+100,"MM/dd/yyyy")
Bash,
1716151413 bytesResulta que el
date
comando toma una entrada bastante flexible para tiempos relativos. También puede hacer cosas como1 year
,1 week ago
,yesterday
, etc. Es una pasada.-1 byte al darse cuenta de que a bash no le importa la gramática.
-1 byte porque el espacio entre
100
yday
es innecesario.-1 byte porque ya no necesito comillas porque no tengo espacio en la cadena.
-1 byte eliminando el espacio después
-d
(¡gracias solo ASCII!)fuente
-d
PowerShell, 10 bytes
Gracias a ConnorLSW por el truco + 1e2.
Parece que se duplica (
1e2
es un doble) también se agregan como días.Versión anterior, 12 bytes:
Aparentemente, puede agregar cadenas a las fechas en PowerShell. La cadena
"100"
se convierte en 100 díasTimeSpan
.fuente
(date)+100
no funciona,(date)+1e2
sí ... Supongo1e2
que en realidad es undouble
mientras que100
es un número hasta que se compila, es decir, no puedes llamar100.GetType()
pero puedes1e2.GetType()
, eso es -2 y nos lleva a un sorteo con Excel!100
se considera que agrega 100 ticks donde la cadena"100"
se toma como días. Ambos son PS válidos pero solo uno hace lo que necesitamos.1e6
sigue siendo un número y se agrega como días?Mediawiki, 19bytes
Puedes probarlo con el sandbox de wikipedia
fuente
PHP, 28 bytes
versión legible por humanos, 35 bytes:
casi legible, 34 bytes:
-4 bytes si también se acepta imprimir la hora: reemplace
Y_m_d
conr
oc
.Es fiesta nacional en Francia en 100 días.
fuente
E_NOTICE
y lo sabrás:Y_m_d
es una constante indefinida y PHP asume una cadena. Esto funciona con cualquier palabra válida (incluidos todos los nombres de funciones) aparte de las palabras clave , las constantes predefinidas y las mayúsculas y minúsculastrue
,false
ynull
.Ruby , 16 bytes
Pruébalo en línea!
fuente
864e4
y8640000
y yo no sé muy bien por qué. Yo culpo a TIO. EDITAR: cuando usap
, los dos valores producen un resultado diferente. Pero cuando lo usasputs
, son lo mismo.p Time.now+864e4
tiene alrededor de 4 días de retrasop Time.now+8640000
en TIO. Lo intenté varias veces. Sin embargo, si usaputs
, esta distinción no existe. Realmente no sé si mi ubicación es importante, el este de EE. UU. Debería ser bastante normal: PI supongo que intentaré ejecutarlo en mi propia PC cuando llegue a casa.Javascript,
292625 bytes¡Guardado 3 bytes gracias a @ ASCII-only!
Guardado 1 byte gracias a @JohanKarlsson
fuente
864e7
lugar de864*10e6
+new Date
lugar deDate.now()
console.log
SQL (PostgreSQL), 19 bytes
fuente
Vim, 27 bytes
try it online!
Edit: Removed unnecessary space char.
fuente
date
, el de esta página esdate -d100day
, aunque no estoy seguro si ayudará:r!date +\%F -d100day
esto también funciona (al menos en mi pc (C)), pero es lo mismo queHyperNeutrino
ya uso en bash.MATL , 9 bytes
Output format is
15-Jul-2017
(which I find most readable). Change1XO
to2XO
to get the format used in the examples,07/15/17
.Try it online!
Explanation
fuente
SQL (Microsoft),
3531 bytesfuente
d
instead ofDAY
and remove the spaces insideDATEADD
.d
. I usedd
orday
in practice. I just tried it and it worked.Java 8,
77, 61 bytesTry it online!
fuente
()->java.time.LocalDate.now().plusDays(100)
.C #,
10397 bytes¡Gracias a raznagul por guardar 6 bytes!
Programa completo que lee la fecha actual, agrega 100 días y muestra el resultado en
M/d/YYYY
format.Puede cambiar el formato de fecha agregando algunos bytes más:
Para eliminar el código repetitivo (no se sabe exactamente que C # sea muy compacto), se puede utilizar una función anónima:
C # lambda,
4943 bytesPrograma completo:
fuente
Console.Write
..ToString("d")
lugar de.ToShortDateString()
.Noodel , 8 bytes
Intentalo:)
Cómo funciona
fuente
Mathematica,
2621 bytes-5 bytes gracias a @KiranLinsuain!
Si se permite incluir el tiempo, entonces podemos guardar 2 bytes:
fuente
C,
874644 bytesahorró 2 bytes gracias a Albert Renshaw
Me di cuenta de que la salida es lo suficientemente flexible como para permitir el día de la semana y la hora, por lo que no hay necesidad de usar
localtime
o latm
estructura en absoluto.Vieja respuesta
Basado en la respuesta de Khaled.K , pero en lugar de meterse con la
tm
estructura, agrega el número de segundos equivalente a 100 días directamente altime_t
valor. También imprime solo la fecha, sin hora ni día de la semana.Como debería suceder en un programa de golf, se generan algunas advertencias feas en la compilación.
Pruébalo en línea!
Sin golf:
fuente
8640000
con864e4
JavaScript, 42 bytes
fuente
Fórmula IBM / Lotus Notes, 29 bytes
Lamentablemente
@Adjust
requiere el seguimiento0's
de los desaparecidoshh:mm:ss
.Si se nos permitiera mostrar la hora también, cambiar
@Today
a@Now
ahorraría 2 bytes para 27.fuente
JavaScript (ES6), 44 bytes
25 bytes si es aceptable devolver una fecha con la hora:
fuente
30 bytes
Mysql!
SQLite
fuente
F # (53 bytes)
fuente
Swift 3, 39 bytes
fuente
import foundation;
. Swift se ejecuta solo en iOS y eso se importa automáticamente allí.C,
120113 bytesDemo en vivo
fuente
#include ...
repeticiones al enviar funciones. (Las respuestas de Java, por ejemplo, no son necesariasimport
en ese caso)java.lang.*
, como no contamosstdio.h
ystdlib.h
en C. Pero incluso en Java, debe considerar importaciones personalizadas o poner la ruta en el nombre de la clase comojava.util.Date
, y eso cuenta en tu puntaje.printf()
seríaputs()
también no trabajar?PowerShell, 23
Este es mi primer intento, así que por favor dame comentarios constructivos. ¡Gracias!
fuente
R (REPL), 14 bytes
Pruébalo en Ideone .
fuente
Python, 63 bytes
Solución muy simple realmente. Debido a que el
datetime.now()
resultado es el mismotype
que el resultadotimedelta
, felizmente agrega los dos juntos.fuente
lambda:
y aún sería un programa completo.print
tendría que agregarse y eso hace que tenga el mismo número de bytes.print
para guardar 1 bytedays=
es opcional, que podría salvar 5 + 1 bytes (python2print
soportes 's)from datetime import*;print datetime.now()+timedelta(100)
JavaScript, 38 bytes
Un poco más corto que la respuesta solo ASCII .
fuente
Golang, 58 bytes
Programa completo
Pruébalo en línea!
fuente
Oracle, 34 bytes
fuente
Python 2 + Pandas 0.19.1,
5651 bytesfuente