Spanish [SOLUCIONADO]Restar a la Hora del Sistema 1 hora

dhernandez

Active Member
Licensed User
Longtime User
Buen dia a todos, espero estén bien de salud.

Como dice el título, parece una cosa de niños de kinder, pero no logro realizarlo con éxito.
Tomo la hora del sistema y ocupo restarle una hora. Hasta ahora estoy usando DateTime y DateUtils, pero no lo logro.
Aquí mi fragmento de código:
B4X:
Dim horaActSistema As String 'Hora del Dispositivo
Dim horaResta As Period 'Esto es Dateutils
Dim nHoraResta As Long 'Nueva Hora ya con la resta

horaActSistema = DateTime.Time(DateTime.now)

horaResta.Hours = 11 'El periodo de 1 hora - a la hora actuar sumarle 11 Hora para que el result sea una hora menos que el actual
'horaResta.Minutes = 0 'Exactamente una hora Aqui no tengo claro
nHoraResta = DateUtils.AddPeriod(horaActSistema, horaResta)
Log(nHoraResta)

El error:
B4X:
java.lang.NumberFormatException: For input string: "04:35:07"

Algo se me está pasando, Agradezco sus comentarios.
 

josejad

Expert
Licensed User
Longtime User
Hola:

Puedes ver un ejemplo aquí:
 

dhernandez

Active Member
Licensed User
Longtime User
Gracias, al final me quedó el código de ésta manera:
B4X:
Dim fechaActSistema As String   
Dim horaConResta As Period
Dim nHoraResta, horaResta2 As Long

DateTime.DateFormat = "HH:mm:ss"
fechaActSistema = DateTime.Date(DateTime.Now)

nHoraResta = DateTime.DateParse(fechaActSistemas)
horaConResta.Hours = 23
horaResta2 = DateUtils.AddPeriod(nHoraResta, horaConResta)
Log(DateTime.Time(DateTime.Now))
Log(DateTime.Date(horaResta2))

y el log me muestra:
B4X:
06:38:09 'Hora Del Sistema
05:38:06 'Hora Diferida con una hora menos

Estoy en lo correcto?
 

dhernandez

Active Member
Licensed User
Longtime User
Solo una pregunta, es diferente al titulo pero es breve. Porque al correr la app, los iconos que metí en la carpeta Objects\res\drawable se me borran? Uso esos iconos para notificaciones en segundo plano.
 

josejad

Expert
Licensed User
Longtime User
Debes marcarlos como solo lectura
 
Top