<?php

class Data{
    
public function primeiroDiaMesAnterior()
{

    // Obtém a data atual
    $dataAtual = new DateTime();
    // Subtrai um mês da data atual
    $dataAnterior = $dataAtual->modify('first day of last month');
    // Formata a data no formato desejado (opcional)
    $primeiroDiaDoMesAnterior = $dataAnterior->format('Y-m-d');
    // Imprime o resultado
    return $primeiroDiaDoMesAnterior;
}

public function ultimoDiaDoMesAnterior()
{

    // Obtém a data atual
    $dataAtual = new DateTime();
    // Subtrai um mês da data atual
    $dataAnterior = $dataAtual->modify('last day of last month');
    // Formata a data no formato desejado (opcional)
    $ultimoDiaDoMesAnterior = $dataAnterior->format('Y-m-d');
    // Imprime o resultado
    return $ultimoDiaDoMesAnterior;
}


//primeiro dia formatado para sqlserver

//primeiro dia do mes usando -
public function primeiroDiaMes()
{
    $primeiroDiaDoMesAtual = date("Y-01-m"); // Primeiro dia do mês atual
    //$primeiroDiaMesAnterior = date( "Y-m-01", strtotime("-1 month", strtotime($primeiroDiaDoMesAtual)));

    return $primeiroDiaDoMesAtual;
}


//primeiro dia do mes usando /
    public function primeiroDiaMes2()
    {
        $primeiroDiaDoMesAtual = date("01/m/Y"); // Primeiro dia do mês atual
        //$primeiroDiaMesAnterior = date( "Y-m-01", strtotime("-1 month", strtotime($primeiroDiaDoMesAtual)));

        return $primeiroDiaDoMesAtual;
    }

//formatado para formulario html
public function primeiroDiaMes3()
{
    $primeiroDiaDoMesAtual = date("Y-m-01"); // Primeiro dia do mês atual
    return $primeiroDiaDoMesAtual;
}

    //funcao para buscar data ano anterior
 public function anoAnterior(){
    //buscar ano atual
    $anoAtual = date('Y');
    //regredir um ano
    $anoAnterior = $anoAtual - 1;
    //dia atual
    $dia = date('d');
    //mes atual
    $mes = date('m');
    //montando data anterior
    $dataAnterior = $anoAnterior.'-'.$dia.'-'.$mes;
    //retorando uma string da data anterior
    return $dataAnterior;
}


//quantidade de meses entre duas datas

public  function  mesesEntreDatas($datainicio,$datafinal){
    $data1 = new DateTime($datainicio); // Sua primeira data
    $data2 = new DateTime($datafinal); // Sua segunda data

    $interval = $data1->diff($data2);

   return $meses = $interval->y * 12 + $interval->m;



}

public function diasRestantes()
{
        $ultimoDiaDoMes = date("t");  // Obtém o último dia do mês atual
        $hoje = date("j");  // Obtém o dia do mês atual
    
        $diasRestantes = $ultimoDiaDoMes - $hoje;
    
        return $diasRestantes;
    }
    




}