Esempio n. 1
0
        public static string Format(this DateTime dateTime, CultureInfo cultureInfo, TimeFormatOption option = TimeFormatOption.IncludeTimeIfNonZero)
        {
            if (dateTime == default)
            {
                return(string.Empty);
            }

            var hasTimePart = dateTime.Second + dateTime.Minute + dateTime.Hour > 0;

            var dateOnly         = dateTime.ToString("d", cultureInfo);
            var dateTimeTemplate = $"{dateOnly} {{0}}";

            return(option switch
            {
                TimeFormatOption.ExcludeTime => dateOnly,
                TimeFormatOption.IncludeTimeIfNonZero => hasTimePart
                    ? GetDateWithTime("HH:mm")
                    : dateOnly,
                TimeFormatOption.ExcludeSeconds => GetDateWithTime("HH:mm"),
                TimeFormatOption.IncludeTime => GetDateWithTime("HH:mm:ss"),
                TimeFormatOption.IncludeMilliseconds => GetDateWithTime("HH:mm:ss.fff"),
                _ => throw new ArgumentOutOfRangeException(nameof(option), option, null)
            });
Esempio n. 2
0
 public static string Format(this DateTimeOffset dateTime, TimeFormatOption option = TimeFormatOption.IncludeTimeIfNonZero) =>
 dateTime.Format(CultureInfo.CurrentUICulture, option);
Esempio n. 3
0
 public static string Format(this DateTimeOffset dateTime, CultureInfo cultureInfo, TimeFormatOption option = TimeFormatOption.IncludeTimeIfNonZero)
 => dateTime.ToLocalTime().ToDateTime().Format(cultureInfo, option);
Esempio n. 4
0
 public static string Format(this DateTimeOffset?dateTime, TimeFormatOption option = TimeFormatOption.IncludeTimeIfNonZero) =>
 dateTime is null ? string.Empty : dateTime.Value.Format(CultureInfo.CurrentUICulture, option);