in java/main/src/main/java/com/epam/deltix/hdtime/Convert.java [932:964]
public static void toComponents(long ts, Components components) {
long sign = ts >> 63;
components.sign = (int)sign;
ts = (ts + sign) ^ sign;
// long old = ts;
// ts /= NS_IN_SECOND;
// components.nanoseconds = (int)(old - ts * NS_IN_SECOND);
// old = ts;
// ts /= SECONDS_IN_MINUTE;
// components.seconds = (int)(old - ts * SECONDS_IN_MINUTE);
// old = ts;
// ts /= MINUTES_IN_HOUR;
// components.minutes = (int)(old - ts * MINUTES_IN_HOUR);
// old = ts;
// ts /= HOURS_IN_DAY;
// components.hours = (int)(old - ts * HOURS_IN_DAY);
// components.days = (int)ts;
long old = ts;
ts /= NS_IN_MINUTE;
long sec = old - ts * NS_IN_MINUTE;
old = ts;
ts /= MINUTES_IN_HOUR;
long secOld = sec;
sec /= NS_IN_SECOND;
components.minute = (int)(old - ts * MINUTES_IN_HOUR);
components.nanosecond = (int)(secOld - sec * NS_IN_SECOND);
components.second = (int)sec;
old = ts;
ts /= HOURS_IN_DAY;
components.hour = (int)(old - ts * HOURS_IN_DAY);
components.day = (int)ts;
}