Ver la Versión Completa : Ejercicios de verano (fecha dentro de tres días)
WillyWeb
21/07/18, 17:39:58
Una pregunta muy, pero que muy simple...
¿Qué fecha será dentro de tres días?
Se me ocurren soluciones con Tasker puro, con un comando de consola y con JavaScript. :pensando:
¿Quién se lanza el primero?
WillyWeb
24/07/18, 09:27:59
¿De verdad nadie tiene una idea para solucionar esto?
¡¡ Sorprendente y preocupante !! :oh:
Caravantes
24/07/18, 12:39:41
¿De verdad nadie tiene una idea para solucionar esto?
¡¡ Sorprendente y preocupante !!
No te lo tomes asín. Yo he estado muy ocupado varios días, espero que mañana comience a tener algo de tiempo, pero la verdad es que ... ya se me había olvidado este reto.
Supongo que otros compañeros pueden estar igual, o con otro tipo de problemas:
- Estoy de vacaciones en la playa; Willy eres un poco cansino.
- Estoy saliendo del paritorio, todo bien, cuatrillizos, gracias por echarme de menos.
- S me an rroto 3 deos de la mano dereca, tecleo con neñique mu malament.
- Me he echado novio y llevo siete días seguidos follando para perder mi virginidad, a cociencia.
- Había preparado la tarea de tasker, pero mi perro se comió el teléfono.
- Llevo toda la semana borracho y no me acuerdo del problema. Repítelo porfa.
- Mis abuelos se están divorciando y estoy muy triste.
- Me estoy quitando del tasker. Ahora tengo el vicio de montar todo el rato en globo aerostático.
- Prefiero no chatear para manteneros a salvo porque tengo una enfermedad contagiosa.
- Estoy en tantos foros que me he rayado.
- Se me olvidó el móvil en casa de mi hermana, han sido tres días muy agobiantes.
- Willy, nunca me han gustado los foros, prefería contestarte en persona.
- Estoy en un campamento de supervivencia con racionamiento, solo 5 minutos diarios de cobertura.
- Cada vez que intento postear me pide la doble autentificación por paloma mensajera.
- ¡TENGO UN AMIGO! Ya no necesito el puto foro de tasker. He conseguido un amigo, iros todos a la mierda.
WillyWeb
25/07/18, 08:10:25
Vale, vale ... :risitas:
leromaro
25/07/18, 21:01:50
Hola, creo que está completa termina con un flash indicando día de la semana y fecha del tercer día a partir de hoy, no incluye años biciestos...
Esta tarea es con Tasker duro y tosco, pero funciona.
Me imagino que debe haber una manera más prolija y corta.
Fecha Dentro De 3 Días (103)
A1: Si (if) [ %DAYW ~ lunes ]
A2: Establecer variable [ Nombre:%diatres A:jueves Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A3: Fin si (End if)
A4: Si (if) [ %DAYW ~ martes ]
A5: Establecer variable [ Nombre:%diatres A:viernes Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A6: Fin si (End if)
A7: Si (if) [ %DAYW ~ miércoles ]
A8: Establecer variable [ Nombre:%diatres A:sábado Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A9: Fin si (End if)
A10: Si (if) [ %DAYW ~ jueves ]
A11: Establecer variable [ Nombre:%diatres A:domingo Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A12: Fin si (End if)
A13: Si (if) [ %DAYW ~ viernes ]
A14: Establecer variable [ Nombre:%diatres A:lunes Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A15: Fin si (End if)
A16: Si (if) [ %DAYW ~ sábado ]
A17: Establecer variable [ Nombre:%diatres A:martes Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A18: Fin si (End if)
A19: Si (if) [ %DAYW ~ domingo ]
A20: Establecer variable [ Nombre:%diatres A:miércoles Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A21: Fin si (End if)
A22: Establecer variable [ Nombre:%fechatres A:%DATE Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A23: Separar variable [ Nombre:%fechatres Separador:- Eliminar base:Apagado ]
A24: Si (if) [ %fechatres1 < 26 ]
A25: Sumar a variable [ Nombre:%fechatres1 Valor:3 Módulo (wrap around):0 ]
A26: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A27: Fin si (End if)
A28: Si (if) [ %fechatres1 ig 26 ]
A29: Si (if) [ %fechatres2 ig 2 ]
A30: Establecer variable [ Nombre:%fechatres1 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A31: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A32: Else
A33: Sumar a variable [ Nombre:%fechatres1 Valor:3 Módulo (wrap around):0 ]
A34: Fin si (End if)
A35: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A36: Fin si (End if)
A37: Si (if) [ %fechatres1 ig 27 ]
A38: Si (if) [ %fechatres2 ig 2 ]
A39: Establecer variable [ Nombre:%fechatres1 A:2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A40: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A41: Else
A42: Sumar a variable [ Nombre:%fechatres1 Valor:3 Módulo (wrap around):0 ]
A43: Fin si (End if)
A44: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A45: Fin si (End if)
A46: Si (if) [ %fechatres1 ig 28 ]
A47: Si (if) [ %fechatres2 ~ 2 ]
A48: Establecer variable [ Nombre:%fechatres1 A:3 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A49: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A50: Else Si (if) [ %fechatres2 ~ *4*/*6*/*9*/*11* ]
A51: Establecer variable [ Nombre:%fechatres1 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A52: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A53: Else
A54: Sumar a variable [ Nombre:%fechatres1 Valor:3 Módulo (wrap around):0 ]
A55: Fin si (End if)
A56: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A57: Fin si (End if)
A58: Si (if) [ %fechatres1 ig 29 ]
A59: Si (if) [ %fechatres2 ~ *4*/*6*/*9*/*11* ]
A60: Establecer variable [ Nombre:%fechatres1 A:2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A61: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A62: Else
A63: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A64: Establecer variable [ Nombre:%fechatres2 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %fechatres2 ~ 13 ]
A65: Sumar a variable [ Nombre:%fechatres3 Valor:1 Módulo (wrap around):0 ] Si (if) [ %fechatres2 ~ 13 ]
A66: Establecer variable [ Nombre:%fechatres1 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A67: Fin si (End if)
A68: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A69: Fin si (End if)
A70: Si (if) [ %fechatres1 ig 30 ]
A71: Si (if) [ %fechatres2 ~ *4*/*6*/*9*/*11* ]
A72: Establecer variable [ Nombre:%fechatres1 A:3 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A73: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A74: Else
A75: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A76: Sumar a variable [ Nombre:%fechatres3 Valor:1 Módulo (wrap around):0 ] Si (if) [ %fechatres2 ~ 13 ]
A77: Establecer variable [ Nombre:%fechatres2 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %fechatres2 ~ 13 ]
A78: Establecer variable [ Nombre:%fechatres1 A:2 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A79: Fin si (End if)
A80: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Fin ]
A81: Fin si (End if)
A82: Si (if) [ %fechatres1 ig 31 ]
A83: Establecer variable [ Nombre:%fechatres1 A:3 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A84: Sumar a variable [ Nombre:%fechatres2 Valor:1 Módulo (wrap around):0 ]
A85: Sumar a variable [ Nombre:%fechatres3 Valor:1 Módulo (wrap around):0 ] Si (if) [ %fechatres2 ~ 13 ]
A86: Establecer variable [ Nombre:%fechatres2 A:1 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %fechatres2 ~ 13 ]
A87: Fin si (End if)
<Mes>
A88: Si (if) [ %hhh ~ Jh ]
A89: Fin si (End if)
<Fin>
A90: Flash [ Texto:%diatres
%fechatres1-%fechatres2-%fechatres3 Largo:Apagado ]
danko9696
25/07/18, 22:52:35
Se puede con una sola linea en JS, yo lo usé en mi widget personalizado de calendario:
GraphicAdventure
25/07/18, 23:31:14
Es más una cuestión matemática que de programación.
Todavía recuerdo mi profesor cuando nos mandó hacer un calendario en C++ y qué día de la semana sería un día cualquiera.
WillyWeb
26/07/18, 10:37:59
Se puede con una sola linea en JS...
Ya. :silbando:
A la espera de que danko comparta esa línea de JS, aquí están las otras dos formas de hacerlo que comenté al principio...
Se puede hacer con un comando de consola que básicamente consiste en conseguir la fecha actual en "Tiempo Unix (https://es.wikipedia.org/wiki/Tiempo_Unix)", sumar a esos segundos los equivalentes a tres días y formatear el resultado nuevamente como una fecha...
FechaEnTresDíasConsola (111)
A1: Ejecutar consola [ Comando:date -d @$(($(date +%s) + (3*24*60*60))) +%d.%m.%y Cuenta atrás (segundos):0 Usar Root:Apagado Almacenar Salida En:%res Almacenar Errores En: Almacenar Resultado en: ]
A2: Flash [ Texto:%res Largo:Apagado ]
El que quiera conocer los detalles del comando "date" puede consultarlos directamente en consola escribiendo "date --help" o en sitios como este (https://www.computerhope.com/unix/udate.htm).
Otra forma de resolver el problema es con acciones de Tasker. La tarea siguiente hace básicamente lo mismo que el comando de consola anterior; conseguir el Tiempo Unix de la fecha actual, sumar el equivalente a tres días, convertir los segundos a fecha+hora y separa la fecha de la hora por el espacio en blanco que las une...
FechaEnTresDíasTasker (222)
A1: Establecer variable [ Nombre:%times A:%TIMES Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A2: Establecer variable [ Nombre:%res A:%times+(3*60*60*24) Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ]
A3: Convertir Variable [ Nombre:%res Función:Segundos a Fecha Hora Almacenar Resultado en: ]
A4: Separar variable [ Nombre:%res Separador: Eliminar base:Apagado ]
A5: Flash [ Texto:%res1 / %res2 Largo:Apagado ]
Y para terminar. La intención de la pregunta inicial era calcular la fecha no el día de la semana, pero viendo que leromaro ha tirado por ese camino aquí dejo otra forma de hacerlo...
DíaSemanaEnTresDías (333)
A1: Establece Array [ Matriz de Variables (array):%sem Values:lunes,martes,miércoles,jueves,viernes,sábad o,domingo Separador:, ]
A2: Establecer variable [ Nombre:%dia A:%sem(#?%DAYW) Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
A3: Establecer variable [ Nombre:%res A:%dia+3 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ]
A4: Establecer variable [ Nombre:%res A:%res-7 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] Si (if) [ %res > 7 ]
A5: Flash [ Texto:%dia %DAYW / %res %sem(%res) Largo:Apagado ]
danko9696
27/07/18, 13:26:46
Ya. :silbando:
A la espera de que danko comparta esa línea de JS, aquí están las otras dos formas de hacerlo que comenté al principio...
Como dije, una linea (no una instrucción). La segunda (linea) no cuenta porque es el flash para ver el resultado.
var d = new Date(); d.setTime(global("TIMEMS")*1 + 1000*3600*24*3);
flash("" + d.getFullYear() + (d.getMonth()*1+1) + d.getDate() );
También se puede usar sqlite para el tema de fechas, ya que permite añadir días/horas/segundos, restar unas fechas de otras, formatear el resultado, etc...
WillyWeb
27/07/18, 18:28:47
Como dije, una linea (no una instrucción). La segunda (linea) no cuenta porque es el flash para ver el resultado.
:oh:
Vaaaaale ... :pensando:
Con una única línea ...
date = new Date() ; date.setDate(date.getDate() + 3) ; alert(date.toLocaleDateString()) ;
... y usando solamente JS, que esa función "global()" que has usado es de Tasker.
¿Cómo sería con SQLite?
SmartPhoneLover
27/07/18, 21:47:33
Chic@s, aquí os dejo mis aportes en GDrive por si alguien desea pegar un ojo ;)
https://drive.google.com/drive/folders/1p3zOuXMuor2xLIwZi06MXHk0zJg8okgP?usp=sharing
Había un hilo en el que WillyWeb había publicado algo parecido para HTCMania, pero no recuerdo cual era. Si lo deseas, WillyWeb, puedes aderir mi enlace al tuyo.
WillyWeb
28/07/18, 11:28:26
var d = new Date(); d.setTime(global("TIMEMS")*1 + 1000*3600*24*3);
Ahora que lo pienso, eso también se puede hacer así usando solamente JS...
var date=new Date(Date.now()+3*24*60*60*1000) ; date=date.toLocaleDateString()
...y en la tarea tendrás la variable %date con la fecha de hoy más 3 días.
WillyWeb
28/07/18, 11:30:34
Había un hilo en el que WillyWeb había publicado algo parecido para HTCMania, pero no recuerdo cual era. Si lo deseas, WillyWeb, puedes aderir mi enlace al tuyo.
:oh:
Pues ahora mismo no recuerdo de qué hilo hablas.
SmartPhoneLover
28/07/18, 15:48:16
:oh:
Pues ahora mismo no recuerdo de qué hilo hablas.
https://www.htcmania.com/showthread.php?t=1164924
WillyWeb
28/07/18, 16:47:36
https://www.htcmania.com/showthread.php?t=1164924
Vale. Me habías despistado porque pensaba que tu comentario estaba relacionado con este tema.
Ya que has localizado el tema añade tú mismo el enlace a tu repositorio. :ok:
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.