i have estimated a variable `age.first.union` as a time difference using `lubridate` by subracting the date of wedding `wdow` from the date of birth `wdob`. I got the following numeric vector

```
head(wm$age.first.union, 3)
[1] 15.43014 12.67123 17.34247

```

I would like to have the decimals converted into months (and possibly also into days, but that's a minor detail), so the first value would be 15 years and 5 months. What I did was to create a series of new variables and then perform some calculations. To get the number of months, first, I duplicated and truncated the `age.first.union` variable. Then I estimated the difference between the two to get only the decimal part and then used proportions (e.g. `0.43 : 10 = x : 12` ) to get the months. 

I looked into the `lubridate` documentation but I could not find much on this. I tried the following

```
years(floor(dseconds(15.43014)))

```

but I got only the years

```
[1] "15y 0m 0d 0H 0M 0S"

```

One idea would be to get the durations in seconds 

```
seconds(floor(dyears(15.43014)))
[1] "486604895S"

```

but then the challenge would be that months have difference lengths. Even an approximation of years = 365 days, and months = 30 days would be more then perfect, but I do not know how to do it apart from lengthy calculations.

One final idea would be to have years and month using the calculation as described at the beginning of this post, and then merge the two variables into the final one using something similar to `make_date` (but it looks like a `make_duration` does not seem to exist yet).

The whole process looks quite cumbersome to me, anyone has a different take? 

Many thanks

Manolo