Fix for utc_to_local year 2038 problem

Even if std::time_t is 64-bit, multiplying the 32-bit value dd.days() by 86400 results in a negative value for dates after 2038. This results in c_time::localtime(&t2, &tms) throwing an exception.

Adding casts to std::time_t fixes this problem.