by Luiz Paulo
| novembro 29, 2008
| 1 Comment »
Assisti essa semana uma palestra de Luli Radfahrer que aconteceu no descolagem#3 no dia 22 de novembro de 2008.
A palestra é simplesmente SENSACIONAL!
Os assuntos abordados nessa palestra são:
- O Abismo da inclusão digital
- Escolas
- A função do professor
- Comunidade (Continuidade de controle)
- Educação como plataforma
- Invenção e inovação
A palestra mostra a atual realidade da educação em nossa sociedade. Explica de forma brilhante o que as pessoas (principalmente professores) não enxergam. A forma errada com que a tecnologia é agregada na educação entre vários assuntos atuais e pertinentes a todos nós.
Parabenizo ao Luli, pois além de um ótimo palestrante concordo com sua visão.
Assistam!
Clique aqui para asista a palestra
Categorias: Palestras, Tecnologia, Tendências
Tags: , descolagem, educação, escola, Luli Radfahrer, palestra, século XXI, Tecnologia
by Luiz Paulo
| novembro 14, 2008
| 15 Comments »
Essa semana, eu precisei de uma solução em Javascript para encontrar o "último dia do mês" ou "quantidade de dias do mês" como preferir. Consultei o Google e encontrei algumas soluções, algumas delas mais simples e outras bem criativas.
Achei o assunto interessante e resolvi divulgar aqui para quem precisar utilizar.
Primeiro vou postar as soluções sérias para o pessoal que está pesquisando e precisa utilizar em seu código
Soluções simples
Exemplo longo (função):
function daysInMonth(month,year) {
var m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (month != 2) return m[month - 1];
if (year % 4 != 0) return m[1];
if (year % 100 == 0 && year%400 != 0) return m[1];
return m[1] + 1;
}
Exemplo curto (função):
Aqui está a grande sacada do javaScript, que interpreta o 0(zero) como "o dia antes do dia primeiro" que obviamente é o último dia do mês anterior.
function daysInMonth(month,year) {
var dd = new Date(year, month, 0);
return dd.getDate();
}
Exemplo curto (inline):
var lastDay = (new Date(year, month, 0)).getDate();
Soluções criativas
Não se assustem, mas as soluções citadas abaixo funcionam!
Solução utilizando Switch:
function getLastDayOfMonth(month,year)
{
var day;
switch(month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12:
day = 31;
break;
case 4 :
case 6 :
case 9 :
case 11:
day = 30;
break;
case 2 :
if( ( (year % 4 == 0) && ( year % 100 != 0) ) || (year % 400 == 0) )
day = 29;
else
day = 28;
break;
}
return day;
}
Essa é legal
function anoBissexto(anoCompleto)
{
if(!(anoCompleto%4) && (anoCompleto%100 || !(anoCompleto%400))) return true;
return false;
}
function diasNoMes(mes,ano)
{
var var_type=typeof mes;
if(var_type != "number" && var_type != "string") return false;
if(var_type == "number" && (mes > 11 || mes < 0) && !isInt(mes)) return false;
var eng_args_allowed = "january-february-march-april-may-june-july-august-september-october-november-december";
var bra_args_allowed = "janeiro-fevereiro-marçomarco-abril-maio-junho-julho-agosto-setembro-outubro-novembro-dezembro";
var vet_eng_args_allowed = eng_args_allowed.split("-");
var vet_bra_args_allowed = bra_args_allowed.split("-");
var datahj = new Date();
var anohj = datahj.getFullYear();
var dias = [31,anoBissexto(ano)?29:28,31,30,31,30,31,31,30,31,30,31];
if(var_type == "string")
{
indice_eng = keyPosMatch(vet_eng_args_allowed,mes);
indice_bra = keyPosMatch(vet_bra_args_allowed,mes);
if(indice_eng>=0) return dias[indice_eng];
if(indice_bra>=0) return dias[indice_bra];
return false;
}
else return dias[mes];
}
Façam bom proveito!
Categorias: Desenvolvimento web, JavaScript, Linguagens
Tags: , calendar, code, date, example, javascript