Convertir el tiempo de tiempo en años, meses y días.
¿Cómo puedo convertir con precisión los productos (unidades en días) de ladifftime
Abajo a años, meses y días?
difftime(Sys.time(),"1931-04-10")
difftime(Sys.time(),"2012-04-10")
Esto hace años y días, pero ¿cómo podría incluir meses?
yd.conv<-function(days, print=TRUE){
x<-days*0.00273790700698851
x2<-floor(x)
x3<-x-x2
x4<-floor(x3*365.25)
if (print) cat(x2,"years &",x4,"days\n")
invisible(c(x2, x4))
}
yd.conv(difftime(Sys.time(),"1931-04-10"))
yd.conv(difftime(Sys.time(),"2012-04-10"))
Tampoco estoy seguro de cómo definir meses. Se considerarían 4 semanas al mes o al pasar el mismo día del mes. Entonces, para la definición posterior de un mes, si la fecha inicial era 2012-01-10 y la actual 2012-05-31 tendríamos 0 años, 5 meses y 21 días. Esto funciona bien, pero ¿qué pasaría si la fecha original fuera el 31 del mes y la fecha final fuera el 28 de febrero, se consideraría un mes?
Cuando escribí esta pregunta, la pregunta en sí evolucionó, así que mejor debo aclarar:
¿Cuál sería el mejor (el enfoque más lógico) para definir los meses y luego cómo encontrar la diferencia de tiempo en años, meses y días?