2using System.Collections.Generic;
74 : base(new
ScriptNode[] {
Year,
Month,
Day,
Hour,
Minute,
Second, MSecond },
argumentTypes7Scalar,
Start,
Length,
Expression)
88 get {
return new string[] {
"Year",
"Month",
"Day",
"Hour",
"Minute",
"Second",
"MSecond" }; }
103 object Obj =
Arguments[0].AssociatedObjectValue;
105 if (Obj is System.DateTime TP)
107 else if (Obj is System.DateTimeOffset TPO)
109 else if (Obj is
long L)
111 else if (Obj is
double Dbl)
115 string s = Obj?.ToString() ??
string.Empty;
119 if (TP.Kind != DateTimeKind.Utc)
120 TP =
new System.DateTime(TP.Year, TP.Month, TP.Day, TP.Hour, TP.Minute, TP.Second, TP.Millisecond, DateTimeKind.Utc);
129 double[] d =
new double[c];
132 for (i = 0; i < c; i++)
144 return new DateTimeValue(
new System.DateTime((
int)d[0], (
int)d[1], (
int)d[2], 0, 0, 0, DateTimeKind.Utc));
147 return new DateTimeValue(
new System.DateTime((
int)d[0], (
int)d[1], (
int)d[2], (
int)d[3], (
int)d[4], (
int)d[5], DateTimeKind.Utc));
150 return new DateTimeValue(
new System.DateTime((
int)d[0], (
int)d[1], (
int)d[2], (
int)d[3], (
int)d[4], (
int)d[5], (
int)d[6], DateTimeKind.Utc));
168 if (!(Obj is System.DateTime TP))
178 if (
long.TryParse(s, out
long Ticks))
186 TP = TP.ToUniversalTime();
208 return TP.TimeOfDay == System.TimeSpan.Zero ? PatternMatchResult.Match :
PatternMatchResult.NoMatch;
Script runtime exception.
Class managing a script expression.
Creates a DateTime value.
static System.DateTime FromInteger(long Nr, DateTimeKind Kind)
Converts an integer to a System.DateTime. If integer is a 32-bit integer, it is considered a UNIX tim...
static bool TryParse(string s, out System.DateTime TP)
Parses DateTime values from short forms of strings.
Creates a UTC DateTime value.
DateTimeUtc(ScriptNode Year, ScriptNode Month, ScriptNode Day, ScriptNode Hour, ScriptNode Minute, ScriptNode Second, ScriptNode MSecond, int Start, int Length, Expression Expression)
Creates a DateTime value.
override string[] DefaultArgumentNames
Default Argument names
override PatternMatchResult PatternMatch(IElement CheckAgainst, Dictionary< string, IElement > AlreadyFound)
Performs a pattern match operation.
DateTimeUtc(ScriptNode String, int Start, int Length, Expression Expression)
Creates a UTC DateTime value.
override IElement Evaluate(IElement[] Arguments, Variables Variables)
Evaluates the function.
override string FunctionName
Name of the function
DateTimeUtc(ScriptNode Year, ScriptNode Month, ScriptNode Day, int Start, int Length, Expression Expression)
Creates a DateTime value.
DateTimeUtc(ScriptNode Year, ScriptNode Month, ScriptNode Day, ScriptNode Hour, ScriptNode Minute, ScriptNode Second, int Start, int Length, Expression Expression)
Creates a DateTime value.
Base class for multivariate funcions.
ScriptNode[] Arguments
Function arguments.
static readonly ArgumentType[] argumentTypes3Scalar
Three scalar parameters.
static readonly ArgumentType[] argumentTypes7Scalar
Seven scalar parameters.
static readonly ArgumentType[] argumentTypes1Scalar
One scalar parameter.
static readonly ArgumentType[] argumentTypes6Scalar
Six scalar parameters.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
virtual PatternMatchResult PatternMatch(IElement CheckAgainst, Dictionary< string, IElement > AlreadyFound)
Performs a pattern match operation.
Expression Expression
Expression of which the node is a part.
int Start
Start position in script expression.
double Value
Double value.
Basic interface for all types of elements.
object AssociatedObjectValue
Associated object value.
PatternMatchResult
Status result of a pattern matching operation.