|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
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 ]
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 ]
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 ]
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 ] 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: ] 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 |
| Los siguientes 3 usuarios han agradecido a leromaro su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
Muchisimas gracias por la recopilación!
Yo siempre he usado el comando 'date'. |
|
#3
|
||||
|
||||
|
Parece ser el mas rápido y simple
|
|
#4
|
||||
|
||||
![]() 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 !! ![]() 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) |
|
#5
|
||||
|
||||
|
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? ![]() 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. |
|
#6
|
||||
|
||||
|
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) |
|
#7
|
||||
|
||||
|
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
|
|
#8
|
||||
|
||||
|
__________________
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) |
|
#9
|
||||
|
||||
![]() Caravantes, creo que ha sido un error de tipeo y no de cálculos
|
|
#10
|
||||
|
||||
|
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 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. |
| Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario: | ||
![]() |
Estás aquí
|
||||||
|
||||||