in csharp/EPAM.Deltix.HdTime/Convert.cs [763:785]
internal static FormatComponents ToComponents(long ts)
{
FormatComponents components;
long sign = ts >> 63;
components.year = components.month = 0;
components.sign = (int)sign;
ts = (ts + sign) ^ sign;
long old = ts;
ts /= NanosInMinute;
long sec = old - ts * NanosInMinute;
old = ts;
ts /= MinutesInHour;
long secOld = sec;
sec /= NanosInSecond;
components.minute = (int)(old - ts * MinutesInHour);
components.nanosecond = (int)(secOld - sec * NanosInSecond);
components.second = (int)sec;
old = ts;
ts /= HoursInDay;
components.hour = (int)(old - ts * HoursInDay);
components.day = (int)ts;
return components;
}