Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonidas Pinheiro

Dia da Semana no php

Recommended Posts

Boa Noite, preciso descobrir como faço pro dia da semana aparecer em Português e não em inglês como está mostrando. O sistema não foi eu quem fiz, por isso está tão complicado, abaixo segue o link do site que é mostrado o dia da semana. logo apos o código que eu acredito que isso é feito.

 

http://www.jackrockbar.com.br/programacao/

 

 


	function DateToDb($text){

		$data = explode('/', $text); 

		return sprintf("%.4d-%.2d-%.2d", $data[2], $data[1], $data[0]);

	}



	function utf8_strlen($str){

		return mb_strlen($str, "UTF-8");

	}



	function utf8_substr_replace($str, $repl, $start , $length = NULL ) {

		preg_match_all('/./us', $str, $ar);

		preg_match_all('/./us', $repl, $rar);

		if( $length === NULL ) {

			$length = utf8_strlen($str);

		}

		array_splice( $ar[0], $start, $length, $rar[0] );

		return join('',$ar[0]);

	}



	function utf8_strtolower($str){

		return mb_strtolower($str, "UTF-8");

	}



	function utf8_strtoupper($str){

		return mb_strtoupper($str, "UTF-8");

	}

	

	function real_ucwords($word){

		#// Note: [\x0c\x09\x0b\x0a\x0d\x20] matches;

		#// form feeds, horizontal tabs, vertical tabs, linefeeds and carriage returns

		#// This corresponds to the definition of a "word" defined at http://www.php.net/ucwords

		#

		return mb_convert_case($word, MB_CASE_TITLE, "UTF-8");

	}

	

	function my_urlencode($data){

		return str_replace('+', '-', urlencode($data));

	}

	

	function CheckData($date, $against = false){

		$ret = preg_match('@([0-9]{2})\/([0-9]{2})\/([0-9]{4})@', $date);

		

		if ($ret){

			list($dia, $mes, $ano) = explode('/', $date);

			if ($dia > 31 || $dia < 1 || $mes < 1 || $mes > 12 || $ano < 1910){

				$ret = NULL;

			}

			if ($against){

				$agora_ano = date('Y');

				$agora_mes = date('m');

				$agora_dia = date('d');



				$ret = TRUE;

				

				if ((int)$ano < (int)$agora_ano){

					$ret = NULL;

				} else if ((int)$mes < (int)$agora_mes){

					$ret = NULL;

				} else if ((int)$mes == (int)$agora_mes && (int)$dia < (int)$agora_dia){

					$ret = NULL;

				}

			}

		} else {

			$ret = NULL;

		}

		return $ret; 

	}

	







Acredito que seja umas dessas funções que fazem isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha isso aqui

<?
function diasemana($data) {
	$ano =  substr("$data", 0, 4);
	$mes =  substr("$data", 5, -3);
	$dia =  substr("$data", 8, 9);

	$diasemana = date("w", mktime(0,0,0,$mes,$dia,$ano) );

	switch($diasemana) {
		case"0": $diasemana = "Domingo";       break;
		case"1": $diasemana = "Segunda-Feira"; break;
		case"2": $diasemana = "Terça-Feira";   break;
		case"3": $diasemana = "Quarta-Feira";  break;
		case"4": $diasemana = "Quinta-Feira";  break;
		case"5": $diasemana = "Sexta-Feira";   break;
		case"6": $diasemana = "Sábado";        break;
	}

	echo "$diasemana";
}

//Exemplo de uso
diasemana("2007-07-13");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use strftime() juntamente com setlocale()

http://www.php.net/strftime

http://www.php.net/setlocale

 

Não precisa fazer switch, if nem nada.

 

Há exemplos no fórum.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro exemplo usando funções nativas do PHP:

 

<?php
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");

$data = "2007-07-13";
echo strftime("%A", strtotime($data));
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função está assim:

 


	putenv('TZ=America/Sao_Paulo');

	setlocale(LC_ALL,  'pt_BR.UTF8', 'pt_BR.UTF-8', 'pt_BR.utf-8', 'pt-BR.UTF8', 'pt-BR.UTF-8', 'pt-BR.utf-8', 'pt_BR', 'portuguese');

	setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");

	@setlocale(LC_NUMERIC, 'en');

	@setlocale(LC_MONETARY, 'en');

	mb_internal_encoding('UTF-8');     



Compartilhar este post


Link para o post
Compartilhar em outros sites

testei sim, da uma olhada na função que eu coloquei logo acima.

 

essa é a pagina .tpl onde é mostrado o conteudo.

 

		<?php
			$rr = array();
			if ($CONFIG['args'][1] == 'dia' && (int)$CONFIG['args'][2] > 0){ // AAAAMMDD
				$db->Query('SELECT `p`.*,
							DATE_FORMAT(`p`.`data`,"%%W %%d/%%m") AS `dia`,
							DATE_FORMAT(`p`.`data`,"%%Y%%m%%d") AS `rdia`
							FROM `programacao` AS `p`
							WHERE DATE_FORMAT(`p`.`data`,"%%Y%%m%%d")="%d"
							ORDER BY `p`.`data` ASC', (int)$CONFIG['args'][2]);
			} elseif ($CONFIG['args'][1] == 'mes' && (int)$CONFIG['args'][2] > 0) { // AAAAMM
				$db->Query('SELECT `p`.*,
							DATE_FORMAT(`p`.`data`,"%%W %%d/%%m") AS `dia`,
							DATE_FORMAT(`p`.`data`,"%%Y%%m%%d") AS `rdia`
							FROM `programacao` AS `p`
							WHERE DATE_FORMAT(`p`.`data`,"%%Y%%m")="%d"
							ORDER BY `p`.`data` ASC', (int)$CONFIG['args'][2]);
			} else {
				$db->Query('SELECT `p`.*,
							DATE_FORMAT(`p`.`data`,"%%W %%d/%%m") AS `dia`,
							DATE_FORMAT(`p`.`data`,"%%Y%%m%%d") AS `rdia`
							FROM `programacao` AS `p`
							WHERE `p`.`data` >= CURDATE()
							ORDER BY `p`.`data` ASC');
			}
			
			if ($db->NumberOfRows() > 0){
				while ($t = $db->Result(false)){ if ($t) { $rr[] = $t; } }
				
				foreach($rr as $r){
					echo Programacao($r);
				}
			} else {
		?>



Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara sinceramente não da pra te ajudar, voce nao entende nada de PHP, é como se os codigos pra você fosse escrito em chines, voce nao sabe identificar uma simples função e pra que serve, estamos aqui pra ajudar mas ninguem aqui vai fazer todo serviço pra voce

 

se voce entendesse perceberia que nao precisaria formatar a data, pois bastaria fazer isso no proprio banco de dados, e todo mundo aqui ja respondeu sua duvida, se quiser mesmo mexer com PHP precisa aprender pelo mesmo o basico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda mas... Acho que quem não entendeu nada foi você...

 

Eu programo sim em Php, não trabalho muito com sistema de paginas tpl, e peguei um site para arrumar e estou com essas duvidas, agora, caso não esteja interessado em ajudar acho que está no lugar errado.

 

Ou procure alguma duvida mais facil para você aumentar o seu ranking no forum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro lugar não preciso aumentar ranking nenhum

 

segundo voce não entende nada de PHP mesmo, isso é fato, e não é culpa sua, mas como falei procure aprender

 

ninguem aqui vai fazer seu trabalho.

 

e sua duvida não tem nada haver com tpl, é coisa simples de data e como ja falei sua duvida ja foi respondida, mas como voce nao entende nada de PHP voce nao consegue enxergar isso

 

o que voce quer afinal? que alguem pegue seu codigo e escreva a função na linha certa pra voce?

 

e quem me conhece sabe que sempre ajudei e ajudo quem precisa.

 

e como falei não posso te ajudar, e sim aqui é o meu lugar, estou no lugar certo, o forum é minha segunda casa

 

e sobre procurar duvidas faceis é só achar topicos com suas duvidas

 

boa sorte com suas duvidas!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores,

 

Não se esqueçam que o ano está acabando, então, Feliz Natal !!!! http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Leonidas Pinheiro,

 

Sua dúvida não tem absolutamente nada a ver com o PHP, mas sim com MySQL, para resolver seu problema e fecharmos esse tópico:

 

Basta usar o seguinte SQL:

set lc_time_names='pt_BR';

 

Com eu não sei como você está fazendo as consultas, seu PHP ficaria alguma coisa assim:

 

$db->Query( 'set lc_time_names="pt_BR";' );

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores,

 

Não se esqueçam que o ano está acabando, então, Feliz Natal !!!! http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Com certeza.

O fórum é uma excelente ferramenta para aprendizagem e discussões sadias sobre diversas áreas.

Não vale a pena o "estresse" com assuntos bobos.

 

Então aproveitemos as ferramentas e a participação dos que nos ajudam e enriquecemos nossos conhecimentos.

 

Att.,

 

Jackson

Moderação Global

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda mas... Acho que quem não entendeu nada foi você...

 

Eu programo sim em Php, não trabalho muito com sistema de paginas tpl, e peguei um site para arrumar e estou com essas duvidas, agora, caso não esteja interessado em ajudar acho que está no lugar errado.

 

Ou procure alguma duvida mais facil para você aumentar o seu ranking no forum.

 

Cara ta doido, o Fabyo é um dos melhores por aqui, ter uma dúvida desse nível respondida por ele...

Por isso tem coisa que nem respondo.

 

Confesso que você me fez rir.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.