public static string FormatFileSize(long sizeInBytes, bool showByteSize = true) { string humanReadableSize = string.Empty; if (sizeInBytes >= Constants.GigaByteInBytes) { humanReadableSize = string.Format("{0:#.#} {1}", sizeInBytes / Constants.GigaByteInBytes, ResourceUtils.GetString("Language_Gigabytes_Short")); } else if (sizeInBytes >= Constants.MegaByteInBytes) { humanReadableSize = string.Format("{0:#.#} {1}", sizeInBytes / Constants.MegaByteInBytes, ResourceUtils.GetString("Language_Megabytes_Short")); } else if (sizeInBytes >= Constants.KiloByteInBytes) { humanReadableSize = string.Format("{0:#.#} {1}", sizeInBytes / Constants.KiloByteInBytes, ResourceUtils.GetString("Language_Kilobytes_Short")); } NumberFormatInfo nfi = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone(); nfi.NumberGroupSeparator = " "; if (showByteSize) { return(string.Format("{0} ({1} {2})", humanReadableSize, sizeInBytes.ToString("#,#", nfi), ResourceUtils.GetString("Language_Bytes").ToLower())); } else { return(string.Format("{0}", humanReadableSize)); } }
public static string FormatDuration(long duration) { var sb = new StringBuilder(); TimeSpan ts = TimeSpan.FromMilliseconds(duration); if (ts.Days > 0) { return(string.Concat(string.Format("{0:n1}", ts.TotalDays), " ", ts.TotalDays < 1.1 ? ResourceUtils.GetString("Language_Day") : ResourceUtils.GetString("Language_Days"))); } if (ts.Hours > 0) { return(string.Concat(string.Format("{0:n1}", ts.TotalHours), " ", ts.TotalHours < 1.1 ? ResourceUtils.GetString("Language_Hour") : ResourceUtils.GetString("Language_Hours"))); } if (ts.Minutes > 0) { sb.Append(string.Concat(ts.ToString("%m"), " ", ts.Minutes == 1 ? ResourceUtils.GetString("Language_Minute") : ResourceUtils.GetString("Language_Minutes"), " ")); } if (ts.Seconds > 0) { sb.Append(string.Concat(ts.ToString("%s"), " ", ts.Seconds == 1 ? ResourceUtils.GetString("Language_Second") : ResourceUtils.GetString("Language_Seconds"))); } return(sb.ToString()); }