Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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](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.
Use strftime() juntamente com 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
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));
?>Como faço pra aproveitar a função ja existente ? sem tem que criar nada ?
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');Ainda está em Inglês o dia, alguem sabe como resolver isso ?
testou o exemplo do Fabyo?
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 {
?>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
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.
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!!!
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";' );
;)>
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
>
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.
olha isso aqui
<?
//Exemplo de uso