Correctly adding time segments

I have an automation that should set a datetime varaible to 15 minutes into the future. This is my current action.

  - service: input_datetime.set_datetime
    data_template:
      entity_id: input_datetime.future_date
      date: '{{ (as_timestamp(now()) | timestamp_custom("%Y-%m-%d", true)) }}'
      time: '{{ (as_timestamp(now().replace(minute=(now().minute+15))) | timestamp_custom("%H:%M:%S", true)) }}'

This approach is prone to errors because adding 15 to a minute value over 45 will end up in out-of-range value, so I was hoping there would be some other approach like now().addminutes(15) or something like that. Any ideas how to make this more solid?

Change it to seconds, add 15 * 60.
It will also work across dates…

So my issue is that adding 15 minutes at, say 5.47 ends up in out-of-range value (as minutes value has to be 0-59). How would changing to seconds and adding 15 * 60 solve that? Isn’t seconds value equally constrained to be between 0-59?

I’m not fluent in python, but this seems like a silly way of approaching it (I copied from somewhere, not knowing of anything better). In my everyday tool of the trade being C#, we would do something like

DateTimeOffset.Now.AddMinutes(15)

and the value returned would always be right…