PHP code example of dorian-dates / aritmetic

1. Go to this page and download the library: Download dorian-dates/aritmetic library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

dorian-dates / aritmetic example snippets


    use Dates\Manejos\ArithmeticDates;
    $date = new ArithmeticDates('now', 'America/Guayaquil');

    use Dates\Manejos\ArithmeticDates;
    $date = new ArithmeticDates(zoneHoraria:'America/Guayaquil');

// Es el metodo que sirve para aumentar años a la fecha instanciada anteriormente
// El valor que se debe de ingresar no debe ser menor a 0  
$date->setYear(1)
// Es el metodo para aumentar meses 
// Este valor no debe ser menor a 0 y mayor a 12 que es un año 
$date->setMoth(3)
//Es el metodo para aumentar dias a la fecha
// Este valor no debe ser menor a 0 y mayor a 31 
$date->setDay(15) 
// Este metodo aumenta las horas , minutos y segundos a la fecha
// Estos valores en el cso de las horas no deben ser mayor a 24 y menores a 0
// En el caso de los minutos y segundos no deben ser mayor a 60 y menor a 0
// En este ejemplo aumentara 5 horas 20 minutos y 15 segundos
$date->setHourMinutesSeconds(5,20,15);
// Este metodo retorna el resultado de haber aplicado los metodos anteriores en como un DateTime
$resulArithmeticDate = $date->getResult();
// El resultado un nueva fecha modificada y con todos los metodos de DateTime
$resulArithmeticDate->getTimestamp(); // Devuelve el fecha en unidad UNIX en milisegundos propio de DateTime

/*Metodos Estaticos de la clase ArithmeticDates*/
//Este metodo estatico sirve para identificar si una fecha se encuentra dentro de un rango de fechas
// Recibe tres parametros el primero es la fecha minima del intervalo
//El segundo es la fecha maxima del intervalo 
//El tercero es la fecha que se va a identificar dentro de ese rango 
// La representacion matematica es [a,b] = {fechaA <= fecha <= fechaB}
// Retorna true si se encuentra en ese rango y false si no 
$arithmeticDatesA = new ArithmeticDates('2022-02-15 00:00:00','America/Guayaquil');
$arithmeticDatesB = new ArithmeticDates('2022-05-01 00:00:00','America/Guayaquil');
$arithmeticDates = new ArithmeticDates('2022-04-09 00:00:00','America/Guayaquil');
ArithmeticDates::hasInterval($arithmeticDatesA,$arithmeticDatesB,$arithmeticDates) // true

$arithmeticDatesA = new ArithmeticDates('2022-02-15 12:30:40','America/Guayaquil');
$arithmeticDatesB = new ArithmeticDates('2022-05-01 12:30:45','America/Guayaquil');
$arithmeticDates = new ArithmeticDates('2022-05-01 12:30:50','America/Guayaquil');
ArithmeticDates::hasInterval($arithmeticDatesA,$arithmeticDatesB,$arithmeticDates) // false