Home Menu

Menu



Avisos

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


 
Herramientas
  #1  
Viejo 13/07/18, 17:38:47
Avatar de leromaro
leromaro leromaro no está en línea
Miembro del foro
Mensajes: 245
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Versión de ROM: Android 11
Tu operador: Claro
Mencionado: 3 comentarios
Tagged: 0 hilos
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
Avatar de SmartPhoneLover
SmartPhoneLover SmartPhoneLover no está en línea
Usuario muy activo
Mensajes: 542
 
Fecha de registro: jun 2016
Mensajes: 542
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
Muchisimas gracias por la recopilación!

Yo siempre he usado el comando 'date'.
Responder Con Cita
  #3  
Viejo 13/07/18, 18:00:44
Avatar de leromaro
leromaro leromaro no está en línea
Miembro del foro
Mensajes: 245
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Versión de ROM: Android 11
Tu operador: Claro
Mencionado: 3 comentarios
Tagged: 0 hilos
Parece ser el mas rápido y simple
Responder Con Cita
  #4  
Viejo 13/07/18, 20:13:51
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos


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?
Responder Con Cita
  #5  
Viejo 14/07/18, 02:13:44
Avatar de leromaro
leromaro leromaro no está en línea
Miembro del foro
Mensajes: 245
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Versión de ROM: Android 11
Tu operador: Claro
Mencionado: 3 comentarios
Tagged: 0 hilos
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
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #7  
Viejo 14/07/18, 11:10:27
Avatar de Caravantes
Caravantes Caravantes no está en línea
Usuario muy activo
Mensajes: 2,200
Compra y venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Versión de ROM: Android 8
Tu operador: Lowi
Mencionado: 59 comentarios
Tagged: 4 hilos
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.
Responder Con Cita
  #8  
Viejo 14/07/18, 11:34:24
Avatar de WillyWeb
WillyWeb WillyWeb no está en línea
Usuario muy activo
Mensajes: 2,067
 
Fecha de registro: dic 2008
Localización: Hoy aquí y mañana allí
Mensajes: 2,067
Modelo de smartphone: OnePlus 3T | Xiaomi 9T Pro
Versión de ROM: OxygenOS 9.0.6 | MIUI 12.5.1
Versión de Radio: Stock
Tu operador: Vodafone
Mencionado: 75 comentarios
Tagged: 3 hilos
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.
Responder Con Cita
  #9  
Viejo 14/07/18, 18:37:18
Avatar de leromaro
leromaro leromaro no está en línea
Miembro del foro
Mensajes: 245
 
Fecha de registro: ago 2014
Localización: Chascomús, Argentina
Mensajes: 245
Modelo de smartphone: Xiaomi Mi A3
Versión de ROM: Android 11
Tu operador: Claro
Mencionado: 3 comentarios
Tagged: 0 hilos
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
Avatar de GraphicAdventure
GraphicAdventure GraphicAdventure no está en línea
Miembro del foro
Mensajes: 277
 
Fecha de registro: oct 2013
Localización: España
Mensajes: 277
Modelo de smartphone: S3 Mini I8190N
Versión de ROM: JB 4.1.2
Tu operador: Movistar
Mencionado: 11 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Otro software para Android > Tasker


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 17:02:35 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007