AdysTech.InfluxDB.Client.Net.EpochHelper.FromEpoch C# (CSharp) Method

FromEpoch() public static method

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;
        }

Usage Example

        /// <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);
        }
All Usage Examples Of AdysTech.InfluxDB.Client.Net.EpochHelper::FromEpoch