// ---------------------------------------------------------------------- public TimeFormatter( CultureInfo culture = null, string contextSeparator = "; ", string startEndSeparator = " - ", string durationSeparator = " | ", string dateTimeFormat = null, string shortDateFormat = null, string longTimeFormat = null, string shortTimeFormat = null, DurationFormatType durationType = DurationFormatType.Compact, bool useDurationSeconds = false, bool useIsoIntervalNotation = false) { if ( culture == null ) { culture = CultureInfo.CurrentCulture; } this.culture = culture; listSeparator = culture.TextInfo.ListSeparator; this.contextSeparator = contextSeparator; this.startEndSeparator = startEndSeparator; this.durationSeparator = durationSeparator; this.dateTimeFormat = dateTimeFormat; this.shortDateFormat = shortDateFormat; this.longTimeFormat = longTimeFormat; this.shortTimeFormat = shortTimeFormat; this.durationType = durationType; this.useDurationSeconds = useDurationSeconds; this.useIsoIntervalNotation = useIsoIntervalNotation; }
} // TimeFormatter // ---------------------------------------------------------------------- public TimeFormatter(CultureInfo culture = null, string contextSeparator = "; ", string startEndSeparator = " - ", string durationSeparator = " | ", string dateTimeFormat = null, string shortDateFormat = null, string longTimeFormat = null, string shortTimeFormat = null, DurationFormatType durationType = DurationFormatType.Compact, bool useDurationSeconds = false, bool useIsoIntervalNotation = false) { if (culture == null) { culture = CultureInfo.CurrentCulture; } this.culture = culture; listSeparator = culture.TextInfo.ListSeparator; this.contextSeparator = contextSeparator; this.startEndSeparator = startEndSeparator; this.durationSeparator = durationSeparator; this.dateTimeFormat = dateTimeFormat; this.shortDateFormat = shortDateFormat; this.longTimeFormat = longTimeFormat; this.shortTimeFormat = shortTimeFormat; this.durationType = durationType; this.useDurationSeconds = useDurationSeconds; this.useIsoIntervalNotation = useIsoIntervalNotation; } // TimeFormatter
} // GetDuration // ---------------------------------------------------------------------- public string GetDuration(TimeSpan timeSpan, DurationFormatType durationFormatType) { switch (durationFormatType) { case DurationFormatType.Detailed: int days = (int)timeSpan.TotalDays; int hours = timeSpan.Hours; int minutes = timeSpan.Minutes; int seconds = UseDurationSeconds ? timeSpan.Seconds : 0; return(GetDuration(0, 0, days, hours, minutes, seconds)); default: return(UseDurationSeconds ? string.Format("{0}.{1:00}:{2:00}:{3:00}", timeSpan.Days, timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds) : string.Format("{0}.{1:00}:{2:00}", timeSpan.Days, timeSpan.Hours, timeSpan.Minutes)); } } // GetDuration
} // TimeFormatter // ---------------------------------------------------------------------- public TimeFormatter(CultureInfo culture = null, string contextSeparator = "; ", string startEndSeparator = " - ", string durationSeparator = " | ", string dateTimeFormat = null, string shortDateFormat = null, string longTimeFormat = null, string shortTimeFormat = null, DurationFormatType durationType = DurationFormatType.Compact, bool useDurationSeconds = false, bool useIsoIntervalNotation = false, string durationItemSeparator = " ", string durationLastItemSeparator = " ", string durationValueSeparator = " ", string intervalStartClosed = "[", string intervalStartOpen = "(", string intervalStartOpenIso = "]", string intervalEndClosed = "]", string intervalEndOpen = ")", string intervalEndOpenIso = "[") { if (culture == null) { culture = CultureInfo.CurrentCulture; } this.culture = culture; listSeparator = culture.TextInfo.ListSeparator; this.contextSeparator = contextSeparator; this.startEndSeparator = startEndSeparator; this.durationSeparator = durationSeparator; this.durationItemSeparator = durationItemSeparator; this.durationLastItemSeparator = durationLastItemSeparator; this.durationValueSeparator = durationValueSeparator; this.intervalStartClosed = intervalStartClosed; this.intervalStartOpen = intervalStartOpen; this.intervalStartOpenIso = intervalStartOpenIso; this.intervalEndClosed = intervalEndClosed; this.intervalEndOpen = intervalEndOpen; this.intervalEndOpenIso = intervalEndOpenIso; this.dateTimeFormat = dateTimeFormat; this.shortDateFormat = shortDateFormat; this.longTimeFormat = longTimeFormat; this.shortTimeFormat = shortTimeFormat; this.durationType = durationType; this.useDurationSeconds = useDurationSeconds; this.useIsoIntervalNotation = useIsoIntervalNotation; } // TimeFormatter
// ---------------------------------------------------------------------- public string GetDuration( TimeSpan timeSpan, DurationFormatType durationFormatType ) { switch ( durationFormatType ) { case DurationFormatType.Detailed: int days = (int)timeSpan.TotalDays; int hours = timeSpan.Hours; int minutes = timeSpan.Minutes; int seconds = UseDurationSeconds ? timeSpan.Seconds : 0; return GetDuration( 0, 0, days, hours, minutes, seconds ); default: return UseDurationSeconds ? string.Format( "{0}.{1:00}:{2:00}:{3:00}", timeSpan.Days, timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds ) : string.Format( "{0}.{1:00}:{2:00}", timeSpan.Days, timeSpan.Hours, timeSpan.Minutes ); } }