Ir para conteúdo

Arquivado

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

montano

Domingos e feriados - XML

Recommended Posts

Boa tarde,

 

Existe um modo de pegar somente o dia da semana que caiu um certo dia, por exemplo: 16/08/2009, me retornar Domingo como o dia da semana.

 

Preciso fazer com que meu sistema saiba que um certo dia foi domingo ou feriado, para os feriados terei que fazer uma lista de feriados nacionais em forma de XML ou uma tabela no meu BD e depois mandar comparar certo?

 

Quando eu sei que devo usar um XML, vejo muitos tutoriais falando de XML + PHP e eu sempre uso tudo pelo BD, para armazenar algo sempre jogo tudo la, nesse exemplo que quero fazer seria melhor usar uma tabela ou XML?.

 

 

valeu pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso fazer com que meu sistema saiba que um certo dia foi domingo ou feriado, para os feriados terei que fazer uma lista de feriados nacionais em forma de XML ou uma tabela no meu BD e depois mandar comparar certo?

 

Quando eu sei que devo usar um XML, vejo muitos tutoriais falando de XML + PHP e eu sempre uso tudo pelo BD, para armazenar algo sempre jogo tudo la, nesse exemplo que quero fazer seria melhor usar uma tabela ou XML?.

 

Nesse caso eu usaria uma tabela. Isso porque, com a tabela você poderá utilizar as funções de data e hora do próprio banco de dados para fazer essa comparação para você, sem contar que utilizando uma tabela você poderá administrar esses dados mais facilmente.

 

mysql> set @@lc_time_names='pt_BR';
Query OK, 0 rows affected (0.00 sec)

mysql> select dayname(now());
+----------------+
| dayname(now()) |
+----------------+
| quarta         |
+----------------+
1 row in set (0.00 sec)

mysql> select str_to_date( '16/08/2009' , '%d/%m/%Y');
+-----------------------------------------+
| str_to_date( '16/08/2009' , '%d/%m/%Y') |
+-----------------------------------------+
| 2009-08-16                              |
+-----------------------------------------+
1 row in set (0.00 sec)

mysql> select dayname( str_to_date( '16/08/2009' , '%d/%m/%Y') );
+----------------------------------------------------+
| dayname( str_to_date( '16/08/2009' , '%d/%m/%Y') ) |
+----------------------------------------------------+
| domingo                                            |
+----------------------------------------------------+
1 row in set (0.00 sec)

mysql> select dayofweek( str_to_date( '16/08/2009' , '%d/%m/%Y') );
+------------------------------------------------------+
| dayofweek( str_to_date( '16/08/2009' , '%d/%m/%Y') ) |
+------------------------------------------------------+
|                                                    1 |
+------------------------------------------------------+
1 row in set (0.00 sec)

Partindo disso você pode ter uma tabela com seus feriados, ai se uma data estiver na sua tabela de feriados ou se dayofweek retornar 1 você saberá que é um domingo ou um feriado.

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.