Consider following code:
// durations are from std::chrono
auto a = get_duration_1(); // milliseconds, will vary in future versions
auto b = get_duration_2(); // seconds, will vary in future versions
auto c = std::min(a, b);
Given two durations,
D1 d1 and
D2 d2 ...
You can convert both durations to their common type,
std::common_type_t<D1, D2>, and then find the minimum of those values.
Or just call
std::min<std::common_type_t<D1, D2>>(d1, d2) and let them be converted to that type as needed.
This works because
std::common_type is specialized to do the right thing for
duration types, see [time.traits.specializations] in the C++ standard.