[R-es] Restar datetime, resultado erróneo

Emilio L. Cano em||opezc@no @end|ng |rom gm@||@com
Mie Nov 27 10:04:08 CET 2019


Hola,
Una solución con el tidyverse (libridate):

library(lubridate)
horai <- hm(c("23:45", "01:50"))
if (horai[2] < horai[1]){
  horai[2] <- horai[2] + days(1)
}
horai[2]-horai[1]
minutes(horai[2]-horai[1])
as.numeric(horai[2]-horai[1])

Saludos,
Emilio

> El 27 nov 2019, a las 9:37, Ruben Tobalina Ramirez <lagrimaescrita using gmail.com> escribió:
> 
> Hola Javier,
> 
> Entiendo que te refieres que lo idóneo sería poner bien el formato y la
> hora, es decir si un programa comienza a las 23:50 y es de hoy, por ejemplo
> su formato sería: 27/11/2019 23:50. Si el siguiente programa comienza a las
> 00:30, sería 28/11/2019 00:30. ¿Te refieres a esto?
> Totalmente de acuerdo, pero la pagina donde estoy webscrapeando los datos
> no lo tienen así, y no se me ocurre una forma de hacerlo.
> 
> Acepto sugerencias.
> 
> Un saludo!
> 
> El mar., 26 nov. 2019 a las 18:44, Javier Marcuzzi (<
> javier.ruben.marcuzzi using gmail.com <mailto:javier.ruben.marcuzzi using gmail.com>>) escribió:
> 
>> Estimados
>> 
>> Depende, el paso de un día a otro da problemas, el ejemplo más simple es
>> comparar los valores de la bolsa de valores, suponiendo una acción de Tokio
>> contra la misma en Alemania, por decir algo, la cotización a las 12:25 del
>> 22 de marzo. Desde mi punto de vista, siempre es conveniente utilizar un
>> formato de fecha y hora universal, hay problemas que desaparecen, o
>> expresado de otra forma ya fueron solucionados al estandarizar los
>> problemas de fechas, horas, usos horarios, etc.
>> 
>> Javier Rubén Marcuzzi
>> 
>> El lun., 25 nov. 2019 a las 6:36, Ruben Tobalina Ramirez (<
>> lagrimaescrita using gmail.com>) escribió:
>> 
>>> Pues es buena solución,
>>> 
>>> muchas gracias Álvaro.
>>> 
>>> El lun., 25 nov. 2019 a las 10:25, Álvaro Hernández Vicente (<
>>> alvarohv using um.es>)
>>> escribió:
>>> 
>>>> Pues lo más rápido quizá sea sumarle los minutos totales que tiene un
>>>> día a los que te salgan negativos.
>>>> 
>>>> -1315 + 24*60 = 125 min
>>>> 
>>>> Un saludo
>>>> Álvaro
>>>> 
>>>> El 25/11/19 a las 9:36, Ruben Tobalina Ramirez escribió:
>>>>> Buenos días,
>>>>> 
>>>>> Tengo una lista de programas de televisión con sus horas de inicio y
>>> me
>>>>> gustaría encontrar la duración de cada uno. Para ello utilizo
>>> *strptime*
>>>>> para convertir las horas en formato *POSIXlt *y las resto con la
>>> función
>>>>> *difftime* . No tengo ningún problema salvo cuando un programa
>>> comienza
>>>>> antes de las 12 de la noche y termina después de la medianoche. Os
>>> pongo
>>>> un
>>>>> ejemplo:
>>>>> 
>>>>> horai <- c("23:45", "01:50")
>>>>> horai.t <- strptime( horai, "%H:%M" )
>>>>> 
>>>>> dur<-as.numeric(difftime(horai.t[2],horai.t[1],units ="min"))
>>>>> 
>>>>> [1] -1315
>>>>> 
>>>>> El resultado debería ser 125 minutos, pero creo que R entiende que la
>>>> 1:50
>>>>> es de la madrugada que el mismo día.
>>>>> 
>>>>> ¿Se os ocurre alguna forma de solucionarlo?
>>>>> 
>>>>> Muchas gracias!!
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es using r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>> 
>>> 
>>> 
>>> --
>>> Rubén.
>>> 
>>>        [[alternative HTML version deleted]]
>>> 
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> 
>> 
> 
> -- 
> Rubén.
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es