diff --git a/MantleAPI/include/MantleAPI/Common/time_utils.h b/MantleAPI/include/MantleAPI/Common/time_utils.h
index 6d4ac464fa73d96867d13529b947534bdb96776b..df544d3f030752c841557f1863eff1cdb52ab5cf 100644
--- a/MantleAPI/include/MantleAPI/Common/time_utils.h
+++ b/MantleAPI/include/MantleAPI/Common/time_utils.h
@@ -22,11 +22,13 @@ namespace mantle_api
 using Time = units::time::millisecond_t;
 
 /// @brief Converts input in [s] to @ref Time.
+/// @tparam T Input type, e.g. `double`.
 /// @param duration Input value
 /// @return Duration representing the given input in units of @ref Time.
-inline Time SecondsToTime(double duration)
+template <typename T>
+inline Time SecondsToTime(T duration)
 {
-  return units::time::second_t(duration);
+  return {std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<T>{duration})};
 }
 
 /// @brief Converts input @ref Time to [s].