ExcelFormulaParser.Engine.Excel.Functions.DateTime.Month.Execute C# (CSharp) Method

Execute() public method

public Execute ( IEnumerable arguments, ParsingContext context ) : CompileResult
arguments IEnumerable
context ParsingContext
return ExcelFormulaParser.Engine.ExpressionGraph.CompileResult
        public override CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 1);
            var dateObj = arguments.ElementAt(0).Value;
            System.DateTime date = System.DateTime.MinValue;
            if (dateObj is double)
            {
                date = System.DateTime.FromOADate((double)dateObj);
            }
            if (dateObj is string)
            {
                date = System.DateTime.Parse(dateObj.ToString());
            }
            return CreateResult(date.Month, DataType.Integer);
        }

Usage Example

 public void MonthShouldReturnMonthOfYearWithStringParam()
 {
     var date = new DateTime(2012, 3, 12);
     var func = new Month();
     var result = func.Execute(FunctionsHelper.CreateArgs("2012-03-12"), _parsingContext);
     Assert.AreEqual(3, result.Result);
 }
All Usage Examples Of ExcelFormulaParser.Engine.Excel.Functions.DateTime.Month::Execute
Month