Ir para conteúdo

POWERED BY:

Arquivado

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

Azumi

Erro com datas

Recommended Posts

Eu tenho esses Script a baixo que tem a simples função de retornar uma lista dos dias do mes corrente exemplo "Seg 31", só que eu não consigo fazer ele funcionar, porque mesmo quando eu passo uma data, a variável sData da função Escreve não "obedece", eu não sei oq ue to fazendo de errado.

 

Segue o Código:

 

//Retorna o Dia da Semana
	function fSemana(iDia, iMes, iAno)
	{
		var dt;
		var diaS = new Array("Dom","Seg","Ter","Qua","Qui","---","Sab");
		var inicio;
		
		inicio = iDia+'/'+iMes+'/'+iAno;
				
		var tDate = new Date(inicio);
		dt = tDate.getDay();		
		
		return diaS[dt];
	}
	
	//Escreve os dias do mês corrente
	function Escreve(Data)
	{	
		var text;
		var linkTo;
		var diaSemana;
		var nDias;
		sData = new Array();
		var _Data = new Date(Data);
		sData[0] = _Data.getFullYear();
		sData[1] = pad(_Data.getMonth()+1);
		sData[2] = pad(_Data.getDate());
	
		nDias = maxDays(sData[1],sData[0]);
		text = "<div class='cal' id='cal'> <ul id='diascal'>";
		if(sData[2] = 1){			
			for(var i = 1; i <= nDias; i++){
				linkTo = "<a href=index.php?dia="+i+">";
				diaSemana = fSemana(i,sData[1],sData[0]);
				text += "<li class='li'>"+ linkTo + diaSemana +" " + i + "</a></li>";
			}
		}
		else{
			for(var i = sData[0]; i <= (nDias - sData[0]); i++){
				linkTo = "<a href=index.php?dia="+i+">";
				diaSemana = fSemana(i,sData[1],sData[0]);
				text += "<li class='li'>"+ linkTo + diaSemana +" " + i + "</a></li>";
			}
				
			for(var i = (nDias - sData[0]); i <= nDias; i++){
				linkTo = "<a href=index.php?dia="+i+">";
				diaSemana = fSemana(i,sData[1],sData[0]);
				text += "<li class='li'>"+ linkTo + diaSemana +" " + i + "</a></li>";
			}
		}
		text += "</ul> </div>";
		document.write(text);
	}
	
	//Maximo de dias no Mes
	function maxDays(mm, yyyy){
	var mDay;
		if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
			mDay = 30;
		}
		else{
			mDay = 31
			if(mm == 1){
				if (yyyy/4 - parseInt(yyyy/4) != 0){
					mDay = 28
				}
				else{
					mDay = 29
				}
			}
	  }
	return mDay;
	}

function pad(val)
{
	if(val <= 9)
	{
		val.toString();
		val = "0" + val;
	}

	return val;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual erro dá? Como você chama a função?

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.