internal static string ToTimeUnit()

in src/Elastic.Transport/Extensions/Extensions.cs [64:102]


	internal static string ToTimeUnit(this TimeSpan timeSpan)
	{
		var ms = timeSpan.TotalMilliseconds;
		string interval;
		double factor;

		if (ms >= MillisecondsInAWeek)
		{
			factor = ms / MillisecondsInAWeek;
			interval = "w";
		}
		else if (ms >= MillisecondsInADay)
		{
			factor = ms / MillisecondsInADay;
			interval = "d";
		}
		else if (ms >= MillisecondsInAnHour)
		{
			factor = ms / MillisecondsInAnHour;
			interval = "h";
		}
		else if (ms >= MillisecondsInAMinute)
		{
			factor = ms / MillisecondsInAMinute;
			interval = "m";
		}
		else if (ms >= MillisecondsInASecond)
		{
			factor = ms / MillisecondsInASecond;
			interval = "s";
		}
		else
		{
			factor = ms;
			interval = "ms";
		}

		return factor.ToString("0.##", CultureInfo.InvariantCulture) + interval;
	}