Tasker Para hablar de todo lo relacionado con la aplicación tasker

Respuesta
 
Herramientas
  #1  
Viejo 13/07/18, 17:38:47
Array

[xs_avatar]
leromaro leromaro no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Tu operador: Claro
Distintos métodos para obtener fecha y hora y tiempo que tarda cada uno

Hola: el otro día modificando unas tareas me di cuenta que tenia varias tareas con distinta forma de obtener la fecha y hora para estampar en un archivo, ej fotos, grabaciones, llamadas, etc.

A raíz de esto estuve buscando todos los métodos para obtener el mismo resultado (o lo más parecido). Seguro no estén todos y algunos se podrán mejorar.

Además prepare las tareas para medir el tiempo que tarda cada método.
Los métodos son los siguientes:
Plugin Autotools
Tasker
Tasker usando regex
Javascriplet
Comando de consola


Autotools (249)
Código:
A1: AutoTools Time [ Configuración:
---------Add Time---------
Use Now: true
Output Format: yyyy-MM-dd
Output Variable: amd Cuenta atrás (segundos):30 ] 
    A2: AutoTools Time [ Configuración:
---------Add Time---------
Use Now: true
Output Format: HH:mm:ss
Output Variable: hms Cuenta atrás (segundos):30 ] 
    A3: Establecer variable [ Nombre:%archivo A:%amddate %hmsdate Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
Tasker (250)
Código:
A1: Establecer variable [ Nombre:%date A:%DATE Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
    A2: Separar variable [ Nombre:%date Separador:- Eliminar base:Apagado ] 
    A3: Establecer variable [ Nombre:%seg A:%TIMES % 60 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] 
    A4: Establecer variable [ Nombre:%seg A:0%seg Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %seg < 10 ]
    A5: Establecer variable [ Nombre:%archivo A:%date3-%date2-%date1 %TIME.%seg Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
Regex (251)
Código:
A1: Establecer variable [ Nombre:%fecha A:%DATE Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
    A2: Buscar y Reemplazar Contenido de Variable [ Variable:%fecha Buscar:(\d\d)-(\d\d)-(\d{4}) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con:$3-$2-$1 ] 
    A3: Establecer variable [ Nombre:%hora A:%TIME Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
    A4: Buscar y Reemplazar Contenido de Variable [ Variable:%hora Buscar:(\d\d)-(\d\d)-(\d{4}) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con:$2:$1 ] 
    A5: Establecer variable [ Nombre:%archivo A:%fecha %hora Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ]
Java (252)
Código:
A1: JavaScriptlet [ Código:var archivo = new Date();
var dias = archivo.getDate();
if(dias < 10) dias = '0' + dias;
var meses = archivo.getMonth() + 1;
if(meses < 10) meses = '0' + meses;
var anyo = archivo.getFullYear();
var d = new Date();
var h = d.getHours();
if(h < 10) h  = '0' + h;
var m = d.getMinutes();
if(m < 10) m = '0' + m;
var s = d.getSeconds();
if(s < 10) s = '0' + s;
var archivo = anyo + '-' + meses + '-' + dias +' ' + h + ":" + m + ":" + s; Librerías: Salida Automática:Encendido Cuenta atrás (segundos):45 ]
Comando (253)
Código:
A1: Ejecutar consola [ Comando:date +"%y-%m-%d %H:%M:%S" Cuenta atrás (segundos):0 Usar Root:Apagado Almacenar Salida En:%archivo Almacenar Errores En: Almacenar Resultado en: ]
Los que contiene javascriplet y comado de consola, no los conocía pero me parecieron fáciles de entender, no creo poder empezarlo de cero pero he modificado alguna que otra cosa.
El que utiliza regex, no lo entendí copie uno del foro, Mezclar dos audios (https://www.htcmania.com/showthread....1026816&page=2) y es de GraphicAdventure y pude agregarle más o menos horas y minutos, pero no segundos.

Los tiempos (en milisegundos) son los siguientes:

Autotools en un rango de 703 a 198 promedio 119
Tasker en un rango de 119 a 63 promedio 74
Tasker regex en un rango de 190 a 53 promedio 71
Javascriplet en un rango de 250 a 51 promedio 80
Consola en un rango de 76 a 40 promedio 40

Espero que le sirva a alguien la recopilación.

Saludos
Responder Con Cita
Los siguientes 3 usuarios han agradecido a leromaro su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 13/07/18, 17:44:41
Array

[xs_avatar]
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar

Muchisimas gracias por la recopilación!

Yo siempre he usado el comando 'date'.
Responder Con Cita
  #3  
Viejo 13/07/18, 18:00:44
Array

[xs_avatar]
leromaro leromaro no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Tu operador: Claro
Parece ser el mas rápido y simple
Responder Con Cita
  #4  
Viejo 13/07/18, 20:13:51
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone


Tú también te aburres mucho.



Ahora en serio. Muchas gracias por tomarte el tiempo de hacer la recopilación y compartirla en el foro... ¡¡ ESPEREMOS QUE CUNDA EL EJEMPLO !!

 Cita: Originalmente Escrito por leromaro Ver Mensaje
El que utiliza regex, no lo entendí copie uno del foro ... y pude agregarle más o menos horas y minutos, pero no segundos.
Si te fijas verás que los sistema "Regex" y "Tasker" se basan en las mismas variables globales de Tasker (%TIME y %DATE). La variable %TIME no tiene segundos y en el sistema "Tasker" se añaden en A5 con el resultado de A3 y A4. En cambio, en el sistema "Regex" no se usa ese "truco" y por eso no te salen por ninguna parte.

La expresión (\d\d)-(\d\d)-(\d{4}) de A2 dice más o menos ... mira si %fecha encaja con esta forma 99-99-9999 ... como encaja guarda los dos primeros números en $1 (una memoria temporal de regex), los dos siguientes en $2 y los otros cuatro en $3 ... y para rematar remplaza la primera coincidencia con lo que has guardado en $3, la segundo con $2 y la tercera con $1.

Sabiendo eso, ¿puedes ver qué hace A4?
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #5  
Viejo 14/07/18, 02:13:44
Array

[xs_avatar]
leromaro leromaro no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Tu operador: Claro
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
La expresión (\d\d)-(\d\d)-(\d{4}) de A2 dice más o menos ... mira si %fecha encaja con esta forma 99-99-9999 ... como encaja guarda los dos primeros números en $1 (una memoria temporal de regex), los dos siguientes en $2 y los otros cuatro en $3 ... y para rematar remplaza la primera coincidencia con lo que has guardado en $3, la segundo con $2 y la tercera con $1.

Sabiendo eso, ¿puedes ver qué hace A4?
Esa es la parte que no entendí...
Pero a ver si me arrimo con tu explicación.
Primero diría que sacando "(\d{4})" funcionaría igual, igual que cuando saqué "por intuición" "$3" funcionaba, porque no tiene ese tercer término.
Entonces $2 $1 son las horas y minutos.
Lo que me pasa con estos casos, como con java y los de consola, es que al principio luchando los entiendo y puedo acomodar algo, ni hablar de hacer algo de cero y luego de un tiempo se me olvida lo poco que había entendido.
Responder Con Cita
  #6  
Viejo 14/07/18, 09:57:39
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por leromaro Ver Mensaje
Esa es la parte que no entendí...
Pues parece que ya has entendido lo suficiente como para detectar algo que se podía quitar.

Este mini-tutorial explica lo más básico ...

http://www.robertoballester.com/pequ...gulares-regex

Las expresiones regulares que has usado suponen que los grupos de números de las fechas siempre son de dos y cuatro dígitos, pero en mi móvil los días/meses pueden ser de uno y los años son de dos.

¿Cómo escribirías esas expresiones para que valgan en todos los casos posibles?

Es decir, que el día/mes pueda ser de uno o dos dígitos y que el año pueda ser de dos o cuatro dígitos.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #7  
Viejo 14/07/18, 11:10:27
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por leromaro Ver Mensaje
Distintos métodos para obtener fecha y hora [...] para estampar en un archivo, ej fotos, grabaciones, llamadas, etc.
Genial. Muchísimas gracias.

 Cita: Originalmente Escrito por leromaro Ver Mensaje
Autotools en un rango de 703 a 198 promedio 119
Es poco importante pero un buen promedio no debería salirse del rango; eso es una informalidad y una falta de respeto a las buenas costumbres de los promedios.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
  #8  
Viejo 14/07/18, 11:34:24
Array

[xs_avatar]
WillyWeb WillyWeb no está en línea
Usuario muy activo
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Tu operador: Vodafone
 Cita: Originalmente Escrito por Caravantes Ver Mensaje
Es poco importante pero un buen promedio no debería salirse del rango; eso es una informalidad y una falta de respeto a las buenas costumbres de los promedios.
Desde luego, te pones hecho un basilisco por cualquier chorrada.

Lo de ser te está pasando factura.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]

Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino)
Responder Con Cita
  #9  
Viejo 14/07/18, 18:37:18
Array

[xs_avatar]
leromaro leromaro no está en línea
Miembro del foro
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Tu operador: Claro
 Cita: Originalmente Escrito por WillyWeb Ver Mensaje
¿Cómo escribirías esas expresiones para que valgan en todos los casos posibles?

Es decir, que el día/mes pueda ser de uno o dos dígitos y que el año pueda ser de dos o cuatro dígitos.
Este finde no puedo, pero tendré una respuesta en breve

 Cita: Originalmente Escrito por Caravantes Ver Mensaje
*Cita: Originalmente Escrito por leromaro
Autotools en un rango de 703 a 198 promedio 119
Es poco importante pero un buen promedio no debería salirse del rango; eso es una informalidad y una falta de respeto a las buenas costumbres de los promedios.
Caravantes, creo que ha sido un error de tipeo y no de cálculos
Responder Con Cita
  #10  
Viejo 21/07/18, 15:17:28
Array

[xs_avatar]
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Tu operador: Movistar
Leromaro, el tiempo de ejecución de regex depende de la cantidad de información y si la expresión está mal diseñada aumenta el tiempo.
A4 aumenta la ejecución sin obtener un resultado.
Ya puestos me puse a probar.

Tarea: Fecha Hora
Código:
A1: Establecer variable [ Nombre:%timems A:%TIMEMS Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
A2: Establecer variable [ Nombre:%fecha A:%DATE Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] 
A3: Buscar y Reemplazar Contenido de Variable [ Variable:%fecha Buscar:(\d\d)-(\d\d)-(\d{4}) Ignorar Caso:Apagado Multilínea:Apagado Una sola coincidencia:Apagado Almacenar Coincidencias En: Reemplazar Coincidencias:Encendido Reemplazar Con:$3-$2-$1 %TIME ] 
A4: Establecer variable [ Nombre:%segundos A:%TIMEMS % 60 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] 
A5: Establecer variable [ Nombre:%segundos A:0%segundos Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %segundos < 10 ]
A6: Establecer variable [ Nombre:%timems A:%TIMEMS-%timems Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] 
A7: Flash [ Texto:%timems %fecha:%segundos Largo:Apagado ]
Con esto me da 30ms el valor mínimo.
Con el comando de consola me da 40ms.
En la práctica es mejor la consola con una acción en vez de siete y la diferencia no la vas a notar.
Pero buscar solo la fecha son 20ms con dos acciones en regex y 40ms en consola.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario:
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Otro software para Android > Tasker



Hora actual: 09:09:18 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /