public static FromEpoch ( this time, TimePrecision precision ) : System.DateTime | ||
time | this | |
precision | TimePrecision | |
return | System.DateTime |
public static DateTime FromEpoch (this string time, TimePrecision precision)
{
long duration = long.Parse (time);
DateTime t = Origin;
switch (precision)
{
case TimePrecision.Hours: return t.AddHours (duration);
case TimePrecision.Minutes: return t.AddMinutes (duration);
case TimePrecision.Seconds: return t.AddSeconds (duration);
case TimePrecision.Milliseconds: return t.AddMilliseconds (duration);
case TimePrecision.Microseconds: return t.AddTicks (duration * TimeSpan.TicksPerMillisecond * 1000);
case TimePrecision.Nanoseconds: return t.AddTicks (duration / 100); //1 tick = 100 nano sec
}
return t;
}
/// <summary> /// Convert the Influx Series JSON objects to InfluxSeries /// </summary> /// <param name="precision"></param> /// <param name="series"></param> /// <returns></returns> private static InfluxSeries GetInfluxSeries(TimePrecision precision, Series series) { var result = new InfluxSeries() { HasEntries = false }; result.SeriesName = series.Name; result.Tags = series.Tags; var entries = new List <dynamic>(); for (var row = 0; row < series?.Values?.Count; row++) { result.HasEntries = true; dynamic entry = new ExpandoObject(); entries.Add(entry); for (var col = 0; col < series.Columns.Count; col++) { var header = char.ToUpper(series.Columns[col][0]) + series.Columns[col].Substring(1); if (header == "Time") { ((IDictionary <string, object>)entry).Add(header, EpochHelper.FromEpoch(series.Values[row][col], precision)); } else { ((IDictionary <string, object>)entry).Add(header, series.Values[row][col]); } } } result.Entries = entries; return(result); }