public static TimeSpan Get(this TimeSpan time, TimeUnit unit) { var newUnit = new TimeUnit(); if (!unit.HasFlag(TimeUnit.Milliseconds)) { newUnit = newUnit.Add(TimeUnit.Milliseconds); } if (!unit.HasFlag(TimeUnit.Seconds)) { newUnit = newUnit.Add(TimeUnit.Seconds); } if (!unit.HasFlag(TimeUnit.Minutes)) { newUnit = newUnit.Add(TimeUnit.Minutes); } if (!unit.HasFlag(TimeUnit.Hours)) { newUnit = newUnit.Add(TimeUnit.Hours); } if (!unit.HasFlag(TimeUnit.Days)) { newUnit = newUnit.Add(TimeUnit.Days); } return(Without(time, newUnit)); }