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

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

[ Hits: 4.575 ]

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

evePHP: Classe para desenvolvimento PHP

Tempo de Geracao da Pagina

Upload

Gerenciador de Downloads V2

XtPHP - Biblioteca de classes PHP versão 1.0-final


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts