Classe para conversões de data/hora em diversos formatos

Publicado por Erick Rettozi (última atualização em 01/02/2011)

[ Hits: 4.389 ]

Homepage: www.inpacksolutions.com.br

Download dataStrPtBr.class.php




Com esta classe é possível converter uma determinada data e/ou hora passada no seguinte formato: yyyy-mm-dd HH:MM:SS, em diversos formatos.

  



Esconder código-fonte

<?php
/*
    Classe para conversões de data/hora em diversos formatos
   Autor: Erick Rettozi
    Versão: 1.0.2

    Exemplo:
             require_once(CLASS_DIR . 'dataStrPtBr.class.php');
            $data = new DataStrPtBr();
            $data->usarData('2010-01-25 19:33:36');
            print $data->dataFormatoRFC822() . "\n"; // Imprime: Seg, 25 Jan 2010 19:33:36

*/

class DataStrPtBr {
   private $myDateOrHour;
   private $_this;

   public function __construct() {
      $_this = $this;
   }

   public function usarData($date_hour = 0) {
      if($date_hour) {
         $this->myDateOrHour = date("Y-m-d H:i:s", strtotime($date_hour));
      }
      else {
         $this->myDateOrHour = date("Y-m-d H:i:s",time());
      }
   }

   public function destroy() {
   }

   public function diaSemanaRFC822(){

      $dia_semana = array(
                0 => "Dom"
               ,1 => "Seg"
               ,2 => "Ter"
               ,3 => "Qua"
               ,4 => "Qui"
               ,5 => "Sex"
               ,6 => "Sab"
               );

      return $dia_semana[date('w',strtotime($this->myDateOrHour))];
   }

   public function mesRFC822(){

      $mes = array(
             1  => "Jan"
            ,2  => "Fev"
            ,3  => "Mar"
            ,4  => "Abr"
            ,5  => "Mai"
            ,6  => "Jun"
            ,7  => "Jul"
            ,8  => "Ago"
            ,9  => "Set"
            ,10 => "Out"
            ,11 => "Nov"
            ,12 => "Dez"
             );

      return $mes[date('n',strtotime($this->myDateOrHour))];
   }

   public function dia(){
      return date("d", strtotime($this->myDateOrHour));
   }

   public function diaSemana($args = array()){

      $dia_semana = array(
                0 => "Domingo"
               ,1 => "Segunda-feira"
               ,2 => "Terça-feira"
               ,3 => "Quarta-feira"
               ,4 => "Quinta-feira"
               ,5 => "Sexta-feira"
               ,6 => "Sábado"
               );

      $return = (isset($args["lowercase"]))
              ? strtolower($dia_semana[date('w',strtotime($this->myDateOrHour))])
            : $dia_semana[date('w',strtotime($this->myDateOrHour))];

      return $return;
   }

   public function mes($args = array()){

      $mes = array(
                        1  => "Janeiro"
                            ,2  => "Fevereiro"
                            ,3  => "Março"
                            ,4  => "Abril"
                            ,5  => "Maio"
                            ,6  => "Junho"
                            ,7  => "Julho"
                            ,8  => "Agosto"
                            ,9  => "Setembro"
                            ,10 => "Outubro"
                            ,11 => "Novembro"
                            ,12 => "Dezembro"
            );

      $return = (isset($args["lowercase"]))
           ? strtolower($mes[date('n',strtotime($this->myDateOrHour))])
           : $mes[date('n',strtotime($this->myDateOrHour))];

      return $return;
   }

   public function ano() {
      return date("Y", strtotime($this->myDateOrHour));
   }

   public function dataExtenso($args = array()) {

      $str = $this->diaSemana() .
         ', '
             . $this->dia() .
         ' de '
             . $this->mes() .
         ' de '
             . $this->ano();

      $return = (isset($args["lowercase"])) ? strtolower($str) : $str;

      return $return;
   }

   public function horaMinuto() {
      if($this->myDateOrHour != "") {
         return date('H:i',strtotime($this->myDateOrHour));
      }
      else {
         return date('H:i');
      }
   }

   public function dataHoraPtBr() {
      return date('d/m/Y H:i:s',strtotime($this->myDateOrHour));
   }

   public function data() {
      return date("d/m/Y", strtotime($this->myDateOrHour));
   }

   public function hora(){
      return date('H',strtotime($this->myDateOrHour));
   }

   public function minuto(){
      return date('i',strtotime($this->myDateOrHour));
   }

   public function segundo(){
      return date('s',strtotime($this->myDateOrHour));
   }

   public function dataFormatoRFC822() {
      if($this->myDateOrHour != "") {
         $semana = $this->diaSemanaRFC822();

         $dia = $this->dia();

         $mes = $this->mesRFC822();

         $ano = $this->ano();
         if ( strlen($ano) == 2 ) {  $ano = "20" . $ano; }

         $hora = $this->hora();
         if ( $hora == 0 ) { $hora = "00";}

         $minuto = $this->minuto();
         if ( $minuto == 0 ) { $minuto = "00"; }

         $segundo = $this->segundo();
         if ( $segundo == 0 ) { $segundo = "00"; }

         $GMT = $semana  .
            ", "    .
                $dia     .
            " "     .
                $mes     .
            " "     .
                $ano     .
            " "     .
                $hora    .
            ":"     .
                $minuto  .
            ":"     .
                $segundo .
            " ";
      }
      else {
         $GMT = "";
      }

      return $GMT;
   }

}

?>

Scripts recomendados

Paginação de dados em PDO

Xajax - FrameWork

Script que captura data e hora do PC

framework ajaxphp

..


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts