protected override Variable Evaluate(ParsingScript script) { List <Variable> args = script.GetFunctionArgs(); double timestamp = Utils.GetSafeDouble(args, 0); string strFormat = Utils.GetSafeString(args, 1, "yyyy/MM/dd HH:mm:ss.fff"); Utils.CheckNotEmpty(strFormat, m_name); var dt = new DateTime(1970, 1, 1, 0, 0, 0, 0); if (m_millis) { dt = dt.AddMilliseconds(timestamp); } else { dt = dt.AddSeconds(timestamp); } DateTime runtimeKnowsThisIsUtc = DateTime.SpecifyKind(dt, DateTimeKind.Utc); DateTime localVersion = runtimeKnowsThisIsUtc.ToLocalTime(); string when = localVersion.ToString(strFormat); return(new Variable(when)); }
public void Subscribe(List <Variable> args) { s_data.Clear(); s_method = Utils.GetSafeString(args, 0); s_tracking = Utils.GetSafeString(args, 1); s_updateImmediate = Utils.GetSafeDouble(args, 2) > 0; }