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

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

[ Hits: 4.578 ]

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

OpenLDAP seguro

SuperTab - tabela HTML com paginação e ordenação (PHP + MySQL)

Interação JAVA+PHP+MySql.

WebUI: framework para criação de interfaces para Web

MY SQL


  

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