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

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

[ Hits: 4.729 ]

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

Receber atualização de encomendas do correios em seu e-mail

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

gImage

Formata número

Variados em Shell


  

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