public override string toStr()
{
if (m_ticks == 0) return "0ns";
// if clean millisecond boundary
long ns = m_ticks;
if (ns % nsPerMilli == 0)
{
if (ns % nsPerDay == 0) return ns/nsPerDay + "day";
if (ns % nsPerHr == 0) return ns/nsPerHr + "hr";
if (ns % nsPerMin == 0) return ns/nsPerMin + "min";
if (ns % nsPerSec == 0) return ns/nsPerSec + "sec";
return ns/nsPerMilli + "ms";
}
// return in nanoseconds
return ns + "ns";
}