Classe para conversões de data/hora em diversos formatos
Publicado por Erick Rettozi (última atualização em 01/02/2011)
[ Hits: 4.974 ]
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.
<?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;
}
}
?>
Redimensionador de fotos em PHP
Cria gráficos de consumo de CPU e Memória a partir de arquivos.
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









