internal static string GetQueryParameter(this TimestampPrecision that) { switch (that) { case TimestampPrecision.Nanosecond: return("ns"); case TimestampPrecision.Microsecond: return("u"); case TimestampPrecision.Millisecond: return("ms"); case TimestampPrecision.Second: return("s"); case TimestampPrecision.Minute: return("m"); case TimestampPrecision.Hours: return("h"); default: throw new ArgumentException("Invalid parameter value.", nameof(that)); } }
internal static DateTime FromEpochTime(long ticks, TimestampPrecision precision) { switch (precision) { case TimestampPrecision.Nanosecond: return(Epoch.AddTicks(ticks / 100)); case TimestampPrecision.Microsecond: return(Epoch.AddTicks(ticks * TicksPerMicrosecond)); case TimestampPrecision.Millisecond: return(Epoch.AddMilliseconds(ticks)); case TimestampPrecision.Second: return(Epoch.AddSeconds(ticks)); case TimestampPrecision.Minute: return(Epoch.AddMinutes(ticks)); case TimestampPrecision.Hours: return(Epoch.AddHours(ticks)); default: throw new ArgumentException("Invalid parameter value.", nameof(precision)); } }
/// <summary> /// Returns a long representing the number of ticks (in the given precision) the DateTime is from 1. Jan 1970. /// </summary> /// <param name="that"></param> /// <param name="precision"></param> /// <returns></returns> public static long ToPrecision(this DateTime that, TimestampPrecision precision) { switch (precision) { case TimestampPrecision.Nanosecond: return((that - Epoch).Ticks * 100); case TimestampPrecision.Microsecond: return((that - Epoch).Ticks / TicksPerMicrosecond); case TimestampPrecision.Millisecond: return((that - Epoch).Ticks / TimeSpan.TicksPerMillisecond); case TimestampPrecision.Second: return((that - Epoch).Ticks / TimeSpan.TicksPerSecond); case TimestampPrecision.Minute: return((that - Epoch).Ticks / TimeSpan.TicksPerMinute); case TimestampPrecision.Hours: return((that - Epoch).Ticks / TimeSpan.TicksPerHour); default: throw new ArgumentException("Invalid parameter value.", nameof(precision)); } }
internal InfluxRowContent(IEnumerable <TInfluxRow> dataPoints, Func <TInfluxRow, string> getMeasurementName, TimestampPrecision precision) { _dataPoints = dataPoints; _getMeasurementName = getMeasurementName; _precision = precision; Headers.ContentType = TextMediaType; }
/// <inheritdoc /> public long ToEpoch(TimestampPrecision precision, DateTime timestamp) { return(timestamp.ToPrecision(precision)); }
public JsonDateTimeConverter(TimestampPrecision prec = TimestampPrecision.Milliseconds) { Precision = prec; }
/// <inheritdoc /> public long ToEpoch(TimestampPrecision precision, DateTimeOffset?timestamp) { return(timestamp.Value.ToPrecision(precision)); }