Ir para conteúdo

POWERED BY:

Arquivado

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

alexandremanowar

Dias da semana

Recommended Posts

E a e galera!

 

Então eu uso esse código para capturar os dias da semana:

$dia = date("w");switch($dia){case 0:$dia_port = "Domingo";break;case 1:$dia_port = "Segunda-feira";break;case 2:$dia_port = "Terça-feira";break;case 3:$dia_port = "Quarta-deira";break;case 4:$dia_port = "Quita-feira";break;case 5:$dia_port = "Sexta-feira";break;case 6:$dia_port = "Sábado";break;}
Com isso ele me fornece o dia da semana que eu estou consultando.

Eu preciso fazer um esquema, que ele capture os dias da semana do ano inteiro e armazene em um banco de dados desde o dia 1 de janeiro ao dia 31 de dezembro! No banco ficaria assim:

1 Janeiro 2006 Domingo

2 Janeiro 2006 Segunda

.....

30 Dezembro 2006 Sábado

31 Dezembro 2006 Domingo

Já quebrei a cabeça aqui e não consegui fazer.

Alguém tem idéia de como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E a galera

 

Usei o esquema que o tmferreira

ensinou

Cara bacana! É isso mesmo que eu precisava entender. Agora é só criar um loop dentro dele e beleza.

 

Valeu cara at+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então fiz um exemplo aqui que captura o ano todo, se alguém tiver um modo melhor e menor posta aí:

<?$contdia = 0;for($i=1; $i<32; $i++){ if($i <= 31) {  $contmes = 1;  $contdia = $contdia + 1; }  $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=32; $i<60; $i++){  $contmes = 2;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=60; $i<91; $i++){  $contmes = 3;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=91; $i<121; $i++){  $contmes = 4;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=121; $i<152; $i++){  $contmes = 5;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=152; $i<182; $i++){  $contmes = 6;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=182; $i<213; $i++){  $contmes = 7;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=213; $i<244; $i++){  $contmes = 8;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=244; $i<274; $i++){  $contmes = 9;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";} echo "<br><br>";$contdia = 0;for($i=274; $i<305; $i++){  $contmes = 10;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=305; $i<335; $i++){  $contmes = 11;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}echo "<br><br>";$contdia = 0;for($i=335; $i<366; $i++){  $contmes = 12;  $contdia = $contdia + 1; $data = explode(";", date("d;m;Y;w", mktime(0, 0, 0, $contmes, $contdia, 2006)));list($dia, $mes, $ano, $dia_semana) = $data;switch($dia_semana){case 0:$dia_port = "Dom";break;case 1:$dia_port = "Seg";break;case 2:$dia_port = "Ter";break;case 3:$dia_port = "Qua";break;case 4:$dia_port = "Qui";break;case 5:$dia_port = "---";break;case 6:$dia_port = "Sáb";break;} echo "<font size=30>$i - $dia, $mes, $ano, $dia_port</font><br>";}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae pessoal!Esse esquema estou aprendendo mais do que eu imaginava.Então Adailton, eu testei aqui e o meu ficou igual o do tmferreira. Vou testar com esse esquema novo que você colocou aqui e já posto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então adailton eu olhei o link que você postou aí tentei as formas que lá dava de exemplo, mas o resultado continuou em inglês!

 

Isso no código que nós estamos testando, porém se eu fazer um código igual o do exemplo ele funciona, por exemplo assim:

<?phpsetlocale (LC_ALL, 'ptb');echo strftime ("%A %d %B %Y", mktime (0, 0, 0, 12, 22, 2006));?>

Esse funcionou legal, deve ser alguma coisa no código que estamos usando, estamos colocando errado alguma coisa, mas ainda não encherguei onde esta o erro!

Vou continuar tentando, se eu achar eu posto aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

<?setlocale(LC_TIME,"portuguese");$ano = 2006;for ($i=1;$i<=12;$i++){	$dias_do_mes = date("t", mktime(0, 0, 0, $i, 1, $ano));		for($x=1;$x<=$dias_do_mes;$x++)	{		$dia_da_semana = date("l", mktime(0, 0, 0, $i, $x, $ano));				$dia_da_semana = strftime("%a",strtotime($dia_da_semana));				echo "$x, $i, $ano, $dia_da_semana<br>";	}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho mesmo

 

saca só um post que eu vi no site do php:

ps.:espero que manje ingles

Apparently on FreeBSD locale support is not so great.There can be problems setting the locale. For example,<?setlocale (LC_TIME,"pt_BR");?>at first didn't work for me.Command to list all locales on the system...locale -a...which showed (in my case) that my needed locale was present, but with the charset appended to the locale name. ( ie: pt_BR.ISO8859-1, pt_BR.UTF-8 )These locales are usually in folders at /usr/share/locale/What I did to resolve the problem was create a symbolic link:ln -s /usr/share/locale/pt_BR.ISO8859-1 /usr/share/locale/pt_BRAnd it worked. There will probably be problems with pages with different encodings, so perhaps there's a better way, but if not, hope this is a help to someone.

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.