You are here

public static function PHPExcel_Calculation_DateTime::EDATE in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php \PHPExcel_Calculation_DateTime::EDATE()

* EDATE * * Returns the serial number that represents the date that is the indicated number of months * before or after a specified date (the start_date). * Use EDATE to calculate maturity dates or due dates that fall on the same day of the month * as the date of issue. * * Excel Function: * EDATE(dateValue,adjustmentMonths) * *

Parameters

mixed $dateValue Excel date serial value (float), PHP date timestamp (integer),: * PHP DateTime object, or a standard date string * @param int $adjustmentMonths The number of months before or after start_date. * A positive value for months yields a future date; * a negative value yields a past date. * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, * depending on the value of the ReturnDateType flag

2 calls to PHPExcel_Calculation_DateTime::EDATE()
DateTimeTest::testEDATEtoPHP in vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php
DateTimeTest::testEDATEtoPHPObject in vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php, line 1410

Class

PHPExcel_Calculation_DateTime
PHPExcel_Calculation_DateTime

Code

public static function EDATE($dateValue = 1, $adjustmentMonths = 0) {
  $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue);
  $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths);
  if (!is_numeric($adjustmentMonths)) {
    return PHPExcel_Calculation_Functions::VALUE();
  }
  $adjustmentMonths = floor($adjustmentMonths);
  if (is_string($dateValue = self::_getDateValue($dateValue))) {
    return PHPExcel_Calculation_Functions::VALUE();
  }

  // Execute function
  $PHPDateObject = self::_adjustDateByMonths($dateValue, $adjustmentMonths);
  switch (PHPExcel_Calculation_Functions::getReturnDateType()) {
    case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL:
      return (double) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject);
    case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC:
      return (int) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject));
    case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT:
      return $PHPDateObject;
  }
}