static string GetPeriodFormatString(TimeSegmentPeriod period) { switch (period) { case TimeSegmentPeriod.Day: return "day-{0:yyyyMMdd}"; case TimeSegmentPeriod.Month: return "month-{0:yyyyMM}"; default: throw new ArgumentOutOfRangeException("period"); } }
public static string For(TimeSegmentPeriod period, DateTimeOffset timestamp) { var utcDate = timestamp.UtcDateTime; return String.Format(GetPeriodFormatString(period), utcDate); }